|
当前编程题:实验二 进制转换问题(16级) ---计算2的N次方 |
| 8. |
问题描述
任意给定一个正整数N(N<=100),计算2的N次方的值。
输入形式
输入只有一个正整数N。
输出形式
输出2的N次方的值。
样例输入
50
样例输出
1125899906842624
#include<stdio.h> #include<math.h> int main() { char bb[500]; int aa[500]={0},num=1,i,j,n; aa[0]=1; scanf("%d",&n); for(i=1;i<=n;i++) { for(j=0;j<num;j++) { aa[j]=aa[j]*2; } for(j=0;j<num;j++) { if(aa[j]>=10) { aa[j+1]=aa[j]/10+aa[j+1]; aa[j]=aa[j]%10; } } if(aa[j]>0) { num++; } } for(i=0;i<num;i++) { bb[i]=aa[num-1-i]+'0'; } bb[i]='\0'; puts(bb); return 0; } |
本文提供了一种计算2的N次方值的有效方法,通过一个C语言程序实现,适用于N小于等于100的情况。该程序使用了数组来存储大整数,以避免溢出,并通过循环实现了乘法运算。
879

被折叠的 条评论
为什么被折叠?



