c语言 计算并输出s的前n项和

从第二项起,每一项的分母与前一项的分母之差是一个等比数列 s=1/1+1/3+1/7+1/15+……
如输入:7(n=7)
输出:
1.599


#include <stdio.h>
int main()
{
    int i,n,r=1,t=1;
    double s = 0;
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        s += 1.0/t;
        r*=2;
        t = r +t;
        //printf("%d  ",t);
    }
    printf("%.3lf",s);
    return 0;
}
#include <stdio.h>
int main()
{
    int n,fm=1;
    int b=1;
    double sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        sum += 1.0/fm;
        b*=2;
        fm += b;
    }
    printf("%.3lf",sum);
    return 0;
}
#include<stdio.h>
#include<math.h>
int main(){
    int n,m=1,k=1,i;
    double s=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        s+=1.0/m;
        m+=pow(2,k);
        k++;
    }
    printf("%.3lf",s);
    return 0;
}

觉得有用的话采纳一下哈