2^0=1(B) 二进制,下同
2^1=2=10;
2^2=4=100;
··· ···
n=0,s=10-1=1;
n=1,s=100-1=11;
n=2,s=1000-1=111;
n=3,s=10000-1=1111;
··· ···
因此可以使用移位得到s,方法如下:
#include "stdio.h"
int Sum(int n)
{
int sum = 0;
sum = (1 << n) - 1; //用1移位得到s
return sum;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d", Sum(n));
return 0;
}