一开始看到这题目,我觉得挺简单,后来写完后编译的时候才发现值为0。。。。才想起来溢出了,后来用数组做,然后倒着打印就可以了。
#include <iostream>
#include <stdio.h>
#include <stdio.h>
using namespace std;
int main()
{
int a[1000] = {0};
int i,j,k;
{
int a[1000] = {0};
int i,j,k;
a[0] = 1;
for(i = 0; i < 1000; i++)
{
for(j = 0; j < 1000; j++)
{
a[j] = a[j] * 2;
}
for(j = 0; j < 1000; j++)
{
if(a[j] > 9)
{
a[j + 1]++;
a[j] = a[j] % 10;
k = j+1;
}
}
}
{
for(j = 0; j < 1000; j++)
{
a[j] = a[j] * 2;
}
for(j = 0; j < 1000; j++)
{
if(a[j] > 9)
{
a[j + 1]++;
a[j] = a[j] % 10;
k = j+1;
}
}
}
for(i = 999; i >= 0; i--)
{
if(a[i] > 0)
{
for(k = i; k >= 0; k--)
{
printf("%d",a[k]);
}
break;
}
}
{
if(a[i] > 0)
{
for(k = i; k >= 0; k--)
{
printf("%d",a[k]);
}
break;
}
}
printf(" \n");
return 0;
}