前项列和计算功能关键算法
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 求出这个数列的前20项之和。
要求:利用循环计算该数列的和。注意分子分母的变化规律。
注意:
a1=2, b1=1, c1=a1/b1;
a2=a1+b1, b2=a1, c2=a2/b2;
a3=a2+b2, b3=a2, c3=a3/b3;
…
s = c1+c2+…+c20;
s即为分数序列:2/1,3/2,5/3,8/5,13/8,21/13 … 的前20项之和。
package Third;
public class three {
public static void main(String[] args) {
float sum = 0; //定义sum用来保存前20 项的和
float a = 1, b = 1; // 定义初始值
float temp; //定义temp
for (int i = 1; i <= 20; i++) {
/**
第一次循环: 第二次循环: 第三次循环: 。。。。。。。
temp=a=1; temp=a=1; temp=a=2
a =b =1; a=b =2 a=b=3
b =b+temp=1+1=2; b=b+temp=2+1=3 b=b+temp=3+2=5
b/a b/a b/a
2/1 3/2 5/3
*/
temp = a; //把分子赋给temp(一个变量,用来存放一次循环赋的值)
a = b; //分母赋值给分子
b += temp; //分母等于分子加上temp >> b = b + temp
sum = sum + b / a;//求和
}
System.out.println("前二十项的和为" + sum); // 输出sum的值 :32.660263
}
}
路是自己的,没必要拿别人的标准衡量自己,它只配成为垫脚石。

浙公网安备 33010602011771号