输入n,输出1/2的n次方 的前n项和
#include <stdio.h>
#include <string.h>
#include <math.h>
void fun(int n,float sum)
{
if(n>0)
{
sum+=1.0/pow(2,n);
fun(n-1,sum);
}
else
printf("%f",sum);
}
int main(void) {
void fun(int n,float sum);
int n;
float sum=0;
scanf("%d",&n);
fun(n,0);
return 0;
}
输入x当1/2的n次方小于x时停止加和并输出结果
#include <stdio.h>
#include <math.h>
void SUM(int n,float x,float sum)
{
if(1.0/pow(2,n)<x) printf("%f",sum);
else
{
sum=sum+1.0/pow(2,n);
SUM(n+1,x,sum);
}
}
int main(void) {
void SUM(int n,float x,float sum);
float x,sum;
scanf("%f",&x);
SUM(1,x,0.0);
return 0;
}