微信小程序列表开发全面详解及实际操作步骤
690
2022-10-01
入门经典编程题-数列前n项和
题目
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前n项之和。
分析
分子序列和分母序列分别为初始值不同的斐波那契数列
Java实现
实现1
递归,时间复杂度高
public static void example06(){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); double sum = 0; sum += 2/1 ; if (n == 1) { System.out.println(sum); return; } sum += (double)3/2; if (n == 2) { System.out.println(sum); return; } for (int i = 3; i <= n; i++) { int a = number(2,3,i-2); int b = number(1,2,i-2); sum += (double)a/b; } System.out.println(sum); }
public static int number(int a1,int a2,int n){ if (n == 1) return a1+a2; return number(a2,a1+a2,--n); }
实现2
求分子,分母
public static void example06_2(){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int a = 2, b = 1 ; double sum = 0; for(int i = 0;i < n ;i++) { sum += (double) a/b ; int temp = a; a += b; b = temp; } System.out.println(sum); }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~