循环~分数序列求和
题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
输入
N
输出
数列前N项和
1 #include<stdio.h> 2 int main(){ 3 int N; 4 scanf("%d",&N); 5 double sum=0; 6 double x[100]; //用来存分子的数组 7 double y[100]; //用来存分母的数组 8 x[0]=2.0; //初始分子 9 y[0]=1.0; //初始分母 10 for(int i=1;i<=N;i++){ 11 x[i]=x[i-1]+y[i-1]; //分子 12 y[i]=x[i-1]; //分母 13 //printf("%lf/%lf\n",x[i],y[i]); 14 sum+=x[i-1]/y[i-1]; 15 } 16 printf("%.2lf",sum); 17 }
solution:
1 注意输出的时候因为按照循环第一组数不是2/1,循环将3/2做第一组数进行的累加,所以最后出书的时候应该将数组中的序号-1 从而将第一组数还原
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了