//求出1-1/2+1/3-1/4+...-1/100的和
//代码一:
public class Homework08{
public static void main(String[]args){
double sum=0;int symbol=-1;
for(int i=1;i<=100;i++){
for(int b =1;b<=i;b++){
symbol=symbol *(-1);
}
sum=(1.0/i)*symbol+sum;
}
System.out.println("和为:"+sum);
}
}
//代码二:(代码二部分是答案)
public class Homework08 {
//编写一个main方法
public static void main(String[] args) {
/*
求出1-1/2+1/3-1/4…..1/100的和
思路分析
1. 1-1/2+1/3-1/4…..1/100 = (1/1)-(1/2)+(1/3)-(1/4)...1/100
2. 从上面的分析我们可以看到
(1) 一共有100数 , 分子为1 , 分母从1-100
(2) 还发现 当分母为奇数时,前面是 +, 当分母是偶数时,前面是-
3. 我们可以使用 for + 判断即可完成
4. 把结果存放到 double sum
5. 这里有一个隐藏的陷阱,要把 公式分子 1 写出1.0 才能得到精确的小数
*/
double sum = 0;
for(int i = 1; i <= 100; i++) {
//判断是奇数还是偶数,然后做不同的处理
if( i % 2 != 0) {//分母为奇数
sum += 1.0/i;
} else { //分母我偶数
sum -= 1.0/i;
}
}
System.out.println("sum=" + sum);
}
}
关于#java#的问题,请各位专家解答!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 南七灵 2021-12-27 23:04关注
public static void main(String[] args) { double sum = 0; int symbol = 1; for (int i = 1; i <= 100; i++) { sum = (1.0 / i) * symbol + sum; symbol = - symbol; } System.out.println("和为:" + sum); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 神经网络Sequential name=sequential, built=False
- ¥16 Qphython 用xlrd读取excel报错
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效