加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

谁能解释计算这个等式的步骤? Java的

发布时间:2020-12-15 04:23:17 所属栏目:Java 来源:网络整理
导读:编写一个计算以下等式的程序. 100/1 99/2 98/3 97/4 96/5 … 3/98 2/99 1/100 我不是要求解决方案.是的,这是一个家庭作业问题,但我不是来复制粘贴答案.我让我的教授解释这个问题或者我该如何处理这个问题?她说:“我不能告诉你任何事情.” public static vo
编写一个计算以下等式的程序.
100/1 99/2 98/3 97/4 96/5 … 3/98 2/99 1/100

我不是要求解决方案.是的,这是一个家庭作业问题,但我不是来复制粘贴答案.我让我的教授解释这个问题或者我该如何处理这个问题?她说:“我不能告诉你任何事情.”

public static void main(String[] args){
    int i;

    for(i = 100; i >= 1; i--)
    {
        int result = i/j;
        j = j+1;
        System.out.println(result);
    }
}

解决方法

在解决此类问题时,您可以尝试观察“趋势”或“模式”.

鉴于:100/1 99/2 98/3 97/4 96/5 … 3/98 2/99 1/100

我们得出:分子/分母,让我们把它称为除以d(n / d)

观察到的模式:

每次循环后> n – 1
每次循环后> d 1

所以,如果你有100个数字,你需要循环100次.因此,使用循环100次的for循环似乎是合适的:

for(int n=0; n<100; n++) //A loop which loops 100 times from 0 - 100

要让n以100开头,我们将循环更改为让n从100而不是0开始:

for(int n=100; n>0; n--) //A loop which loops 100 times from 100 - 0

你安顿了n,现在需要从1开始.

int d = 1; //declare outside the loop

把所有东西放在一起,你得到:

int d = 1;
double result = 0.0;
for (int n=100; n>0; x--)
{
    result += (double)n/d; //Cast either n or d to double,to prevent loss of precision
    d ++; //add 1 to d after every loop
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读