题目可见,s是由1和2^2到2^32相加而成,可以定义个函数就像次方计算,利用循环结构进行实现;
注:由于程序要求的最大值大于int 和long 的范围,所以使用long long;
int 范围 -2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)
long int 或 long 范围 -2^31(-2 147 483 648) ~ 2^31-1(2 147 483 647)
long long int 或 long long 范围 -2^63(-9.2233720368548e+18) ~ 2^63-1(9.2233720368548e+18)
代码实现:
long long fun(int x){
long long s=2;
for(int i=1;i<x;i++){
s=s*2;
}
return s;
}
int main()
{
long long s=1;
for(int i=2;i<=32;i++){
s=s+fun(i);
}
printf("%lld",s);
return 0;
}