/** * 题目名称:求分数序列和 <p> * 题目来源:http://noi.openjudge.cn/ch0105/32/ <p> * 程序功能:输出指定分数序列的前n项之和 * * @author 潘磊,just_panlei@just.edu.cn * @version 1.0 */importjava.util.Scanner;publicclassMain{/** * 返回指定规则的分数序列的指定项之和。 <p> * 指定规则如下: <p> * q(i+1)=q(i)+p(i) <p> * p(i+1)=q(i) <p> * p(1)=1,q(1)=2 <p> * q为分子,p为分母 <p> * * @param n 分数序列求和最后一项的编号。 * @return 指定规则的分数序列前n项之和。 */publicdoublesumOfSequence(intn){intp=1;// 当前项的分母,初始为1intq=2;// 当前项的分子,初始为2intt;// 暂存变量doubleans=0;// 分数序列的前n项之和/* 依次遍历分数序列的每一项 */for(inti=1;i<=n;i++){ans+=1.0*q/p;// 累加当前项t=q;// 暂存当前项的分子q+=p;// 计算下一项的分子p=t;// 计算下一项的分母}returnans;}publicstaticvoidmain(String[]args){Maincall=newMain();Scannerinput=newScanner(System.in);intn=input.nextInt();System.out.printf("%.4f",call.sumOfSequence(n));}}32:求分数序列和
RELATED READING
延伸阅读
更多一线实战笔记与深度复盘,助您持续精进