2的n次方
题目:
对于一个整数N(512 <= N <= 1024),计算2的n次方并在屏幕显示十进制结果。
输入描述:
输入一个整数N(512 <= N <= 1024)
输出描述:
2的N次方的十进制结果
输入例子1:
512
输出例子1:
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
思路:
#include <iOStream>
#include <stdio.h>
#include <cstring>
using namespace std;
void printValue(int N)
{
int value[1000];
memset(value,0,sizeof(value));
value[999] = 2;
N = N - 1;
int Byte_count = 1;
int preByte_count = 1;
for (int i= 0; i < N; i++) {
for (int j = 999; j > 999 - preByte_count; j--) {
value[j] = value[j] *2;
}
for (int j = 999; j > 999 - preByte_count; j--) {
if (value[j] > 9) {
value[j-1] += 1;
value[j] -= 10;
if (j == 999 - preByte_count + 1) {
Byte_count++;
}
}
}
preByte_count = Byte_count;
}
bool nonzero = false;
for (int i = 0; i < 1000; i++) {
if (value[i] != 0 || true == NonZero) {
printf("%d",value[i]);
NonZero = true;
}
}
printf("\n");
}
int main()
{
int N;
while (cin>>N) {
PrintValue(N);
}
return 0;
}
相关阅读
题目描述有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根
一元二次方程ax^2+bx+c=0中,一元二次方程求根公式:两根x1,x2= [-b±√(b^2-4ac)]/2a韦达定理:两根x1,x2有如下关系:x1+x2=-b/a,x1*x
[编程题] 2的N次方 时间限制:1秒 空间限制:131072K 对于一个整数N(512 <= N <= 1024),计算2的N次方并在屏幕显示十进制结果。 输入
计算2的N次方时间限制: 1000ms内存限制: 65536kB描述任意给定一个正整数N(N<=100),计算2的N次方的值。输入输入只有一个正整数N。