【Java笔试题】分数列求和

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);
    }
}

你可能感兴趣的:(Java笔试题)