描述
任意给定一个正整数N(N<=100),计算2的n次方的值。
输入
输入一个正整数N。
输出
输出2的N次方的值。
#include<stdio.h>
#include<string.h>
void ni(int arr[],int n)
{
int flag=1;
for(int i=n-1;i>=0;i--)
{
if(flag&&arr[i]!=0)
{
flag=0;
}
if(!flag)
{
printf("%d",arr[i]);
}
}
if(flag)
{
printf("0");
}
}
void jie(int a[],int n)
{
int temp1=0,temp;
for(int i=0;i<n;i++)
{
for(int j=0;j<40;j++)
{
a[j]*=2;
temp=a[j]/10; //利用临时变量存储十位
a[j]=a[j]%10; //只保留个位
a[j]+=temp1; //加上上一个数的十位
temp1=temp;
//利用两个变量存储,temp1存储上一数的值,temp存本数的。
}
}
ni(a,40);
}
int main()
{
int a[40]={2}; //2的100次方大约40位
for(int i=1;i<40;i++)
{
a[i]=0;
}
int n;
scanf("%d",&n);
jie(a,n-1); //初始为2,所以减1
}

828

被折叠的 条评论
为什么被折叠?



