【9112】求2的n次方的精确值
来源:互联网 发布:教师网络研修计划 编辑:程序博客网 时间:2024/06/05 09:27
Time Limit: 1 second
Memory Limit: 2 MB
问题描述求2^n的精确值。n由用户输入,0<=n<=3232。
Input
输入只有一行,一个正整数n。
Output
输出为计算的结果, 最后用回车结束。
Sample Input
8
Sample Output
256(换行)【题解】
这是个单精度乘高精度的问题,每次在做乘方的时候,把当前算出的结果的每一位都乘上2就可以了,注意要倒序来做。然后用一个变量x来处理进位的问题。最后逆序输出就可以了。
【代码】
#include <cstdio>int n,a[1000],l = 1;void input_data(){ scanf("%d",&n); for (int i = 1;i <= 999;i++) //一开始每个位置上的数都置0 a[i] = 0;}void get_ans(){ a[1] = 1; for (int i = 1;i <= n;i++) //要乘n次 { int x= 0; for (int j = 1;j <= l;j++) //每一位的数都要乘上2 然后处理进位的问题 用一个x就能搞定 { a[j] = (a[j]*2) + x; x = a[j] / 10; a[j] = a[j] % 10; } while ( x > 0) //如果x 还大于0 就说明2^n的结果的长度还能更长。 { a[++l] += x; x = a[l] / 10; a[l] = a[l] % 10; } }}void output_ans(){ for (int i = l;i >= 1;i--) printf("%d",a[i]);}int main(){ input_data(); get_ans(); output_ans(); return 0;}
0 0
- 【9112】求2的n次方的精确值
- 1009——精确计算2的N次方
- 求n次方的算法
- 求a的N次方
- 求T的N次方
- 求X的N次方
- 求n的k次方
- 求x的n次方
- 求m的n次方
- 求n的阶乘的精确值
- 求n的阶乘的精确值
- 【2006】求N!的精确值
- php2的n次方 ,求n的值
- 求n的n次方最后一位
- 用两种while循环求2的n次方,n是传入的值。
- 2的N次方
- 2的N次方
- 2的N次方
- ubuntu 中sudo update与upgrade的作用及区别
- Merge k Sorted Lists
- 勾股定理一日一证连载51
- Word Break
- java链接数据库步骤和程序
- 【9112】求2的n次方的精确值
- Reverse Linked List
- Merge Intervals
- Single Number II
- c++的list vector deque
- NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
- 新概念3
- 像素风创意图片
- Singleton模式