Java编程:计算1+1/2+1/3+1/4+···+1/n,加到多少项时,其和可超过10.
3个回答
展开全部
public class test {
public static void main(String args[]) {
double n=1;
double sum=0;
while(sum<10){
sum=sum+1/n;
System.out.println("n="+n);
System.out.println("sum="+sum);
n++;
}
System.out.println("加到第"+(n-1)+"项时满足sum>10");
}
}
n=12367.0
sum=10.000043008275778
加到第12367.0项时满足sum>10
public static void main(String args[]) {
double n=1;
double sum=0;
while(sum<10){
sum=sum+1/n;
System.out.println("n="+n);
System.out.println("sum="+sum);
n++;
}
System.out.println("加到第"+(n-1)+"项时满足sum>10");
}
}
n=12367.0
sum=10.000043008275778
加到第12367.0项时满足sum>10
更多追问追答
追问
喔、、好神奇啊。但是能跟我简单解释一下为什么这么写吗?
追答
其实你这个是数学问题,我只能讲讲为什么这样编程。。
看表达式sum=1/1+1/2+1/3+...1/n
每一项都是1/n
所以可以用累加每次循环都+1/n
double n=1;设置运行次数初始值1
double sum=0;设置和0,必须要浮点数的才能运算小数
while(sum10");如果满足条件就已经跳出循环,执行到这步,最后一项n就是循环里的n-1
展开全部
package com.jframetest;
public class Count {
public static void main(String[] args) {
int n=3;//输入你要加到第几项
double sum=0;//存储结果
double m=1;//存储序列
while(n>0){
sum+=1/m;
m++;
n--;
System.out.println(m);
}
System.out.println(sum);
}
}
你把包名改成你的包就成了
public class Count {
public static void main(String[] args) {
int n=3;//输入你要加到第几项
double sum=0;//存储结果
double m=1;//存储序列
while(n>0){
sum+=1/m;
m++;
n--;
System.out.println(m);
}
System.out.println(sum);
}
}
你把包名改成你的包就成了
更多追问追答
追问
他这个题不是让你计算出加到几项时,其和可超过10吗?不是应该运算出几项吗?
追答
package com.jframetest;
public class Count {
public static void main(String[] args) {
int n=0;//存储项数结果
double sum=0;//存储加得结果
double m=1;//存储序列
boolean flag=true;
while(flag){
sum+=1/m;
m++;
n--;
if(sum>10){
flag=false;//大于10,循环结束
}
}
System.out.println(sum);
System.out.println(m);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public
class
test
{
public
static
void
main(String
args[])
{
double
n=1;
double
sum=0;
while(sum<10){
sum=sum+1/n;
System.out.println("n="+n);
System.out.println("sum="+sum);
n++;
}
System.out.println("加到第"+(n-1)+"项时满足sum>10");
}
}
n=12367.0
sum=10.000043008275778
加到第12367.0项时满足sum>10
class
test
{
public
static
void
main(String
args[])
{
double
n=1;
double
sum=0;
while(sum<10){
sum=sum+1/n;
System.out.println("n="+n);
System.out.println("sum="+sum);
n++;
}
System.out.println("加到第"+(n-1)+"项时满足sum>10");
}
}
n=12367.0
sum=10.000043008275778
加到第12367.0项时满足sum>10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询