黑马程序员技术交流社区

标题: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数... [打印本页]

作者: 代码是什么    时间: 2016-6-26 23:34
标题: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数...
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
帮忙分析一下不要代码,谢谢啦.
作者: lizihanglove    时间: 2016-6-27 00:58
class GetSumForTheNumeratorAndDenominator {       //定义类
        public static void main(String[] args){                    //主方法
                double a = 1;                                                  //初始化分母
                double b = 2;                                                        //初始化分子
                double c = a+b;                                                //用第三方变量记录分子分母之和
                double sum = 0;                                                //初始化前二十项之和,若大于20,停止while循环
                int i = 1;                                                                //初始化当前项数
                while(i<=20){                                                        //使用while循环求出sum的值
                        sum = sum + b/a;                                   //逐项求和
                        a = b;                                                        //将分子的值赋值给分母
                        b = c;                                                        //将前一项中分子分母之和赋值给分子
                        c= a+b;                                                        //记录该项中分子分母之和
                        i++;                                                                 //项数累加
                }
                System.out.println(sum);                                        //while循环结束后打印sum值
        }
}

值得注意的是:使用double数据类型是因为分数相除得到小数,若使用int数据类型,将会令结果很尴尬!
回答完毕。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2