解题思路:
注意事项:
参考代码:
#include<stdio.h> int a[10000]={1},len=1;//定义全局变量 void fang(int a[])//用来进行运算 { int i; for(i=0;i<len;i++) { a[i]*=2;//数组的每个元素都乘2 } for(i=0;i<len;i++)//进行进制处理 { a[i+1]+=a[i]/10; a[i]=a[i]%10; } if (a[len]>0)//若进制成功,则数组的最后一个元素是大于0的,这时我们需要扩宽数组的取值 len++; } int main() { int i,n; scanf("%d",&n); if(n==0)//0次方则输出1 { printf("1"); return 0; } for(i=1;i<=n;i++) { fang(a); } for(i=len-1;i>=0;i--)//倒置输出 printf("%d",a[i]); return 0; }
0.0分
0 人评分