输出2的N次方
对于一个整数N(512 <= N <= 1024),计算2的N次方并在屏幕显示十进制结果。
输入描述:
输入一个整数N(512 <= N <= 1024)
输出描述:
2的N次方的十进制结果
限制:
时间限制:1秒
空间限制:131072K
难点:如何定义表示2的N次方结果
#include<iostream>
#include<stdio.h>
using namespace std;
int * ToeN(int N)
{
int a[1000] = { 0 };//可以存储1000位
int i, j, b = 0, k;
a[999] = 1;
for(i=0;i<N;i++)
{
j = 999;
while (j >= 0)
{
k = a[j] * 2 + b;
a[j] = k % 10;
b = k / 10;
j--;
}
}
return a;
}
int main()
{
int i, N;
int *result;
cin >> N;
result = ToeN(N);
if (N < 0)
cout << "error!" << endl;
else if (N == 0)
cout <<1<< endl;
else
{
for (i = 0; i < 1000; i++)
{
if (result[i] != 0)
break;
}
for (; i < 1000; i++)
{
cout << result[i];
}
cout << endl;
}
system("pause");
return 0;
}