描述:
任意给定一个正整数N(N<=100),计算2的n次方的值。
输入:
输入一个正整数N。
输出:
输出2的N次方的值。
样例输入:
5
样例输出:
32
核心思想:
计算2的n次方也是依次相乘2,大于个位则进位,从后向前保存元素,所以要令初始值为1.
算法:
#includeint main() { int a[50]={0};//创建保存数据的数组 a[49]=1;//用数组存储 int n; int i; int x=0;// x代表进位 scanf("%d",&n); while(n--){ //做n次循环 int i=49; while(i>0){ int flag=2 * a[i]+x; //计算2的阶乘 a[i]=flag % 10; //留下个位 x=flag / 10; //取走十位 i--; } } for(i=0;i<50;i++) //出去数组多余的0 if(a[i]!=0) break; for(;i<50;i++) //按序输出 printf("%d",a[i]); return 0; }
人生的路,靠自己一步步走去,真正能保护你的,是你自己的人格选择和文化选择。那么反过来,真正能伤害你的,也是一样,自己的选择。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210567.html原文链接:https://javaforall.net
