计算2的任意次方[通用版]
2016-03-20 10:52
204 查看
位数计算: [ N*lg2 ] +1
log10(2)=0.301029996
log10(2)=0.301029996
/*2的10万次方,控制台光标跳动约16次*/ #include <iostream> #include <cmath> using namespace std; void f(int n) { int b,x,f,j,k,flag,v; b=(int)(n*log10(2.0)+1);/*位数*/ char *a=(char *)malloc(b*sizeof(char)); for(v=0;v<b;v++)a[v]=0; a[0]=1; for(k=1,flag=0;k<=n;k++)/*监视哨初始指向数组首位*/ { for(f=0,j=0;j<=flag || f>0;j++)/*j未到监视哨,或者有进位*/ { x=a[j]*2+f; f=x/10;/*进位*/ a[j]=x%10; } if(a[j]==0 || j==b) flag=--j; else flag=j; } while(flag>=0) /*输出结果*/ { printf("%d",a[flag]); flag--; } } int main() { int n; cout<<"输入2的n次方(10万次光标跳动约16次):"; cin>>n; f(n); return 0; }
相关文章推荐
- OpenCL: kernel中的向量关系运算符和等价运算符(>,<,>=,<=,==,!=)
- IOS 屏幕遮罩 Mask
- Java代码优化(长期更新)
- MFC读取图片并显示
- 数据通信原理
- HTML学习笔记
- Centos7 root密码重置
- protobuf的使用和原理
- mysql环境配置
- 父母尚在苟且,你却在炫耀诗和远方
- 基因表达式程序设计C++实现
- YMS Round #1 Div. 2 B Angry Cows
- Linux程序包管理(rpm)
- POJ 3311 Hie with the Pie - 状压dp【TSP】
- Node.js中的全局对象global(一)
- iOS 设置1像素的UIView线
- HDU1010 Tempter of the Bone DFS
- 模拟退火算法的C++实现
- CSS编码规范 - (摘自百度FEX-team)
- vim配置设置参考