#include "stdio.h"
double exp(int m)//用递归调用求(2^n)2的n次方
{
if(m==0)
return 1;
else
return 2*exp(m-1);
}
void main()
{
int x,i,j;
double sum=0;
printf("请输入 x 的值:");
scanf("%d",&x);
for(i=0;i<=x;i++)//2^0+ 2^1 + 2^2 +...+ 2^n 的和
{
for(j=0;j<=i;j++)//2^0+(2^0+2^1)+…+(2^0+2^1+2^2+…+2^n)
sum=sum+exp(j);//j=0,1 ...
}
printf("\n2^%d 的值是: %f \n",x ,sum);
double exp(int m)//用递归调用求(2^n)2的n次方
{
if(m==0)
return 1;
else
return 2*exp(m-1);
}
void main()
{
int x,i,j;
double sum=0;
printf("请输入 x 的值:");
scanf("%d",&x);
for(i=0;i<=x;i++)//2^0+ 2^1 + 2^2 +...+ 2^n 的和
{
for(j=0;j<=i;j++)//2^0+(2^0+2^1)+…+(2^0+2^1+2^2+…+2^n)
sum=sum+exp(j);//j=0,1 ...
}
printf("\n2^%d 的值是: %f \n",x ,sum);
}
结果
x=3 2^0+(2^0+2^1)+(2^0+2^1+2^2)+(2^0+2^1+2^2+2^3)=26