有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。
程序分析:找到分子与分母的变化规律;
在面试中手写代码很多人会大意不处理数据类型,这里的数据类型为double
package com.math.forth;
/***
* 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。 程序分析:请抓住分子与分母的变化规律;
* 在面试中很多人会大意不处理数据类型,这里的数据类型为double
*
* @author wql
*
*/
public class Math11 {
public static void main(String[] args) {
double sum = method();
// 和sum可以进行小数点处理,用round()方法:四舍五入的功能
double sum2 = Math.round(sum * 100) / 100.0;
System.out.println(sum);
System.out.println(sum2);
}
public static double method() {
double a = 1;
double b = 2;
double sum = 0;
for (int i = 1; i <= 20; i++) {
sum += b / a;
double temp = a;
a = b;
b = temp + b;
}
return sum;
}
}