#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
本文介绍了一个使用C语言实现的递归函数,该函数用于计算2的n次幂。此外,主函数通过循环调用此递归函数来计算从2^0到2^n的所有值的累加和,并输出最终结果。

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



