题目
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。
可看出规律为从n=2起,分子=前一个数的分子、分母之和; 分母=前一个数的分子。
以下
public class Problem20 {
public static void main(String[] agrs){
double a =2; //a为分子
double b =1; //b为分母
double s =0; //记录和
for (int i = 0; i <20 ; i++) {
s = s+a/b;
double tempt = a ; //临时变量记录 a
a = a+b; //分子=上一个分子、分母相加
b = tempt; //分母为上一分子;
}
System.out.println("和为"+s);
}
}
结果如下:
前面有一次结果出错,因为将 a、b类型设为了 int 类型, 这样会丢失小数点后面的数……