【Java笔试题】分数列求和

来源:互联网 发布:2017数据新闻比赛 编辑:程序博客网 时间:2024/06/11 07:12

1、题目

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前n项之和,其中,n可以用键盘输入。

2、解题思想

观察题目中给出的分数序列,我们可以发现一条规律,那就是相邻的两个分数之间,前一个分数的分子与分母之和是后一个分数的分子,前一个分数的分子是后一个分数的分母,利用这条性质,再加上for循环求和就可以实现题目中的要求啦!

3、Java代码

import java.util.Scanner;public class QianNSum {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);  //从键盘输出项数,即求多少项的和        int n = sc.nextInt();  //获取项数n        int x = 2, y = 1, t;  //对变量进行初始化        double sum = 0;        for(int i=1; i <= n; i++) {  //循环求和            sum = sum + (double)x / y;            t = y;            y = x;            x = y + t;        }        System.out.println("前" + n + "项相和为:" + sum);    }}
2 0
原创粉丝点击