题目:
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
思路:
分子: 2 3=2+1 5=3+2 … m m+n
分母: 1 2 3 … n m
由此可得规律,下一个分数的分子为上一个分数的分子分母之和,分母为上一个分子
实现:
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
double n = 1; //分子
double m = 2; //分母
double temp = 0;
double sum = 0;
for(int i = 0;i < 20;i++)
{
sum += m/n; //sum
temp = n; //记录当分母的值
n = m; //分母为上一个分子
m = m+temp; //分子为上一个分数的分子和分母的和
}
/*简洁点不借助中间变量
sum += m/n;
m = m+n; //分子为上一个分数的分子和分母的和
n = m-n; //分母为上一个分子(可替换为新分子-旧分母)
*/
System.out.println(sum);
}
}
参考链接:
https://blog.miuyun.work