作业帮 > 综合 > 作业

JAVA;.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 21:46:43
JAVA;.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
AVA;.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
/*从题目中可以看出分子分母是一个fibonacci数列
 *这就好办了
 *给分吧
 *by Herim
*/
public class Test {
\x05public static void main(String[] args) {
\x05\x05\x05System.out.println(add(20));
\x05\x05}
\x05\x05
\x05//求斐波那契(fibonacci)数列 
\x05public static double fibonacci(int pos) {
\x05\x05\x05if(pos==1||pos==2) {
\x05\x05\x05\x05return 1;
\x05\x05\x05}
\x05\x05\x05else {
\x05\x05\x05\x05\x05return fibonacci(pos-1)+fibonacci(pos-2);
\x05\x05\x05\x05}
\x05\x05}
\x05
\x05//求和
\x05public static double add(int i) {
\x05\x05String output ="";
\x05\x05double sum = 0;
\x05\x05int j = i+2;
\x05\x05for(i=3;i<=j;i++) {
\x05\x05\x05sum += fibonacci(i)/fibonacci(i-1);\x05//求和
\x05\x05\x05output += (int)fibonacci(i)+"/"+(int)fibonacci(i-1)+ "+";//输出控制表达式
\x05\x05\x05}
      System.out.println(output.substring(0, output.length()-1)+ "=");//打印表达式
\x05\x05\x05return sum;
\x05\x05}
\x05}