A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
帮忙分析一下不要代码,谢谢啦.

1 个回复

正序浏览
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数据类型,将会令结果很尴尬!
回答完毕。
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马