解题思路:
本题乍看之下整体规律难以找出,为了快速解题,我们可以将此题拆分化解为三个部分:
1、找分子与N之间的规律:类似于斐波那契数列的规律,从第三项起,每项为前俩项和
2、找分母与N之间的规律:同分子,从第三项起,每项为前俩项和
3、分别求分子,分母,求和
注意事项: 为避免溢出,且便于保留小数,定义成double
参考代码:
import java.util.Scanner; public class Main { public static double molecular(int n) { if(n == 1){ return 2; }else if(n == 2){ return 3; }else { return molecular(n-1)+molecular(n-2); } } public static double denominator(int n) { if(n == 1){ return 1; }else if(n == 2){ return 2; }else { return denominator(n-1)+denominator(n-2); } } public static double scoreSum(int n) { double sum =0; for (int i = 1; i <= n; i++) { sum += molecular(i)/denominator(i); } return sum; } public static void main(String[] args) { int input; Scanner sc = new Scanner(System.in); input = sc.nextInt(); System.out.println(String.format("%.2f",scoreSum(input))); } }
0.0分
4 人评分
点我有惊喜!你懂得!浏览:1330 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1447 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:516 |
【回文数(二)】 (C语言代码)浏览:855 |
P1002 (C语言代码)浏览:980 |
母牛的故事 (C语言代码)浏览:932 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:528 |
1126题解浏览:594 |
演讲大赛评分 (C语言代码)浏览:1636 |
神奇的fans (C语言代码)浏览:987 |