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