有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。 输入
问题 1018: [编程入门]有规律的数列求和
时间限制: 1Sec 内存限制: 128MB 提交: 6076 解决: 4223
题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。
输入
N
输出
数列前N项和
样例输入
10
样例输出
16.48
分析:由数字序列可以找到规律,下一个分数的分子是上一个分数的分子加分母,分母是上一个数的分子,分子=上一个分子+上一个分母,分母=上一个数的分子
import java.util.Scanner;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m=1;
int h=2;
//设置一个替换的中间变量
int k;
double sum=2.0;
for(int i=2;i<=n;i++){
k=h;
h=m+h;
m=k;
sum+=h/(m*1.0);
}
System.out.printf("%.2f", sum);
}
}