原题链接:[编程入门]有规律的数列求和
一、解题思路:for()循环
设第一项的分子为a,分母为b,则
第一项为a/b,
第二项为(a+b)/a,
第三项为((a+b)+a)/(a+b),
第四项为(((a+b)+a))+(a+b))/((a+b)+a)......
总而言之,后一项的分子为前一项分子分母的和,后一项的分母为前一项的分子
C参考代码:
#include <stdio.h> int main() { double sn = 0, a = 2.0, b = 1, n, t; scanf("%lf", &n); sn += a / b; //第一项不在规律中,在循环前先加入 for (int i = 1; i < n; i++) { t = a; a = a + b; //将前一项的分子加分母给后一项的分子 b = t; //将前一项的分子给后一项的分母 sn += a / b; } printf("%.2lf", sn); return 0; }
Java参考代码:
import java.util.Scanner; public class Main{ public static void main(String[] args) { double sn=0,a=2.0,b=1,t; Scanner sc=new Scanner(System.in); int n=sc.nextInt(); sn+=a/b; for(int i=1;i<n;i++) { t=a; a=a+b; b=t; sn+=a/b; } System.out.printf("%.2f",sn); } }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复