有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
因为我是一个新手,所以刚开始做这道题的时候想了很久。
刚开始找到逻辑关系后,我就在想这道题该怎么让找到逻辑关系后的数有联系,所以我就想到了数组,所以我用数组来将他们的关系连接起来。
下面是代码。
</>
public class Exercise30 {
// 把这20个数当成一个数组
public static void main(String[] args) {
float sum = 0;
int[] array = new int[100];// 只要数组容量比21大就行
for(int i = 0 ; i <= 20 ; i++) {
if(i == 0) {
array[i] = 1;
}else if(i == 1) {
array[i] = 2;
}else {
array[i] = array[i-1] + array[i-2];
}
if(i >= 1 ) {
float num = (float)array[i] / (float)array[i -1];// 一定要转换数据类型!!!
sum = sum + num;
}
}
System.out.println(sum);
}
}
</>
我第一次编完忘记切换数据类型,结果答案一直是21.0,我找了好多遍才发现这个问题。当然我做完之后看到很多比我这个要简单的方法,我发出来只是为了让大家有个参考。
第一次做文章,勿喷,谢谢各位。