有一个分数序列
2/1,3/2,5/3,8/5,13/8.........求出该数列的前20项之和
我这样的写的
public class Test8 { /**
* @param args
*/
public static void main(String[] args) {
double p=2,q=1; //分别是分子和分母
double x=p/q;
double sum=0;
for(int i=1;i<=20;i++){
System.out.println("P:"+p+" q:"+q+" p/q="+x);
double temp=p;
sum+=x;
p=p+q;
q=temp;
}
System.out.println(sum);
}}
但结果不对,p/q总是等于2.0;这是为什么了,是不是写的不对
2/1,3/2,5/3,8/5,13/8.........求出该数列的前20项之和
我这样的写的
public class Test8 { /**
* @param args
*/
public static void main(String[] args) {
double p=2,q=1; //分别是分子和分母
double x=p/q;
double sum=0;
for(int i=1;i<=20;i++){
System.out.println("P:"+p+" q:"+q+" p/q="+x);
double temp=p;
sum+=x;
p=p+q;
q=temp;
}
System.out.println(sum);
}}
但结果不对,p/q总是等于2.0;这是为什么了,是不是写的不对
double p = 2, q = 1; // 分别是分子和分母
double x = p / q;
double sum = 0;
for (int i = 1; i <= 20; i++) {
System.out.println("P:" + p + " q:" + q + " p/q=" + x);
double temp = p;
sum += x;
p = p + q;
q = temp;
x = p / q;//少了这句
}
System.out.println(sum);
}