#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int a[1024]; //先定义一个足够大的数组
for(int i = 0;i < 1024;i++)
{
a[i] = 0;
}
a[0] = 1; //将第零个元素赋值为1,其余为零
for(int j = 0;j < 1000;j++) //2^1000次方就循环1000次
{
for(int i = 0;i < 1024;i++) //将数组所有元素*2
{
a[i] *= 2;
}
for(int i = 0;i < 1024;i++) //判断各位是否需要进位
{
if(a[i] > 9)
{
a[i+1] += 1; //后一位+1
a[i] %= 10; //自身对10取余
}
}
}
int count = 0;
for(int j = 1023;j >= 0;j--) //从后往前找出从第几位开始不为0
{
if(a[j] == 0)
{
count++;
}
else
break;
}
for(int i = 1023-count;i >= 0;i--) //由后向前从第一个不为0的位置开始打印
{
printf("%d",a[i]);
}
cout << endl;
return 0;
}