黑马程序员技术交流社区
标题:
大家帮我看看这道题
[打印本页]
作者:
朱磊zl
时间:
2015-6-23 14:38
标题:
大家帮我看看这道题
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
程序分析:请抓住分子与分母的变化规律。
public class Prog20{
public static void main(String[] args){
double n1 = 1;
double n2 = 1;
double fraction = n1/n2;
double Sn = 0;
for(int i=0;i<20;i++){
double t1 = n1;
double t2 = n2;
n1 = t1+t2;
n2 = t1;
fraction = n1/n2;
Sn += fraction;
}
System.out.print(Sn);
}
}
作者:
dillinger
时间:
2015-6-23 15:54
public static void main(String[] args){
//定义分子分母和临时存储变量
int x=2, y=1, temp;
double sum=0;
//20个数字求和应该相加19次
for(int i=1;i<20;i++){
//需要类型强转
sum += (double)x/y;
//分子分母变化
temp=x;
x=x+y;
y=temp;
}
System.out.println(sum);
}
作者:
GUO18735177413
时间:
2015-6-24 07:00
赞一个,学习下
作者:
fantianfei
时间:
2015-6-24 09:19
看不太懂
作者:
夜写意
时间:
2015-7-8 19:24
/*
需求:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
程序分析:请抓住分子与分母的变化规律。
分析:
分子:前一个表达式分子分母之和
分母:前一个表达式的分子
注意:
分子和分母都是整数。
执行除法后的结果是小数,所以要先强转后执行。
思路:
用for控制循环20次,循环体为分子与分母的变化以及进行运算
*/
class Test001
{
public static void main(String[] args)
{
//分子
int numerator = 2;
//分母
int denominator = 1;
//结果
double resuilt = 0;
for(int i = 0;i<20;i++){
resuilt += (double)numerator / (double)denominator;
numerator = numerator + denominator;
denominator = numerator;
}
System.out.println(resuilt);
}
}
复制代码
作者:
形而上孤独
时间:
2015-7-8 19:42
赞一个!
作者:
niuniu123456
时间:
2015-7-8 21:14
有规律,第一个分子等于第二个分母,第二个分子又等于第一个分子与分母的和。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2