永发信息网

求分数序列:1/2,2/3,3/5,5/8,8/13,13/21......前20项的和。以下程序错在哪里?

答案:6  悬赏:40  手机版
解决时间 2021-02-05 03:30
求分数序列:1/2,2/3,3/5,5/8,8/13,13/21......前20项的和。以下程序错在哪里?
最佳答案
1/2,2/3,3/5,5/8,8/13,13/21......前20项的和
你第二次的逻辑就乱了
第一次:j=1 n=2 m=3 n/m=2/3
第二次:j=2 n=3 m=5 n/m=3/5 就乱了

public class Sum {
public static void main(String[] args) {
double sum = 0;
int n = 1;
int m = 1;
int j;
for(int i=1; i<=20; i++) {
sum = sum + m/(double)(m+n);
j = m;
m = m+n;
n = j;
}
System.out.println("sum=" + sum);
}
}追问谢谢,确实是得强制转换一下,另外 逻辑没有问题吧?第二次:j = 2 , n = 3, m = 5, n/m = 3/5
第三次:j = 3, n = 5, m = 8, n/m = 5/8.....追答第二次的应该是2/3
全部回答
楼上是正解
你执行一下这句话就明白了:
System.out.println(10/11);
你应该用double类型。int类型之间除法得到的是int
你的sum是double类型的 n m j是int类型的 你没有转换类型 sum=sum+n/m n/m结果是int类型
你要把n/m转换成double类型 在分子上*1.0 这样n/m 就变成doule类型勒
你是朗沃的学生?
public class Sum {
public static void main(String[] args) {
double sum = 0.0;
int n = 1;
int m = 2;
int j=0;
for(int i=1; i<=20; i++) {
sum = sum + n*1.0/m;
j = n;
n = m;
m = m + j;

}
System.out.println("sum=" + sum);
}
}
得到符点型 的进行运算。
整型 只取整数位,你这些小数全是0
风声水影泪痕
是正解。
整个思路没有错误,主要是数值转换问题。n/m应该转换为double型。
public class Sum {
public static void main(String[] args) {
double sum = 0;
int n = 1;
int m = 2;
int j;
for(int i=1; i<=20; i++) {
sum = sum + (double)n/m;
j = n;
n = m;
m = m + j;
}
System.out.println("sum=" + sum);
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有什么免费的家具设计软件啊?
老款和新款长安之星2后门尺寸一样吗
湘味野生鱼庄地址在什么地方,想过去办事
玄契的意思是什么啊?知道的请说下!
鸽子汤可以放胡萝卜 玉米 当归 枸杞吗
妮维雅的洗面奶是氨基酸的吗?跟山水妤姿哪个
【戈尔丁】传播学批判学派默多克和戈尔丁谁知
中国移动的基础功能退订
朱字是什么部首
视尚眼艺(平凉店)地址在什么地方,想过去办事
明星孙俪李晨郭德纲都在做微商了吗
Minik便利店地址在什么地方,想过去办事
什么是生态系统,生态系统由哪几部分组成?
掀搅的意思是什么啊?知道的请说下!
飞科电器2大主营产品电动剃须刀、电吹风居然
推荐资讯
为什么不能复制,说由于I/o设备错误是什么意思
联想里面lenovo recovery格式化了还能恢复吗
android studio在哪里写程序
百洋汽贸地址在什么地方,想过去办事
公共管理专业调剂名额吗
茀禄的意思是什么啊?知道的请说下!
某商场第一季度的利润是82.75万元,其中一月份
怎么能够知道我的网站所有页面的连接关系那个
金舞鞋拉丁舞地址在什么地方,想过去办事
休利的意思是什么啊?知道的请说下!
清河县油坊镇新农村建设什么时候开始?
停车场(河东路)(东方大道1690号附近停车场)地
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?