对于循环除数

时间:2015-10-13 22:39:00

标签: c++ for-loop divide

对于C ++来说,我是业余爱好者,但我已经收到了一项超出我所知的任务。

任务是输入数字n,m。程序必须将其作为一个区间,在该区间内检查是否有任何数字是具有相同指数的数字之和。

修改:(15年10月18日) 结果我没有正确地理解我的任务。这是:

"用户输入两个数字。程序将其作为检查所有数字的间隔。如果有一个间隔的数字,所有数字的SAME指数之和就是那个数字,那么程序会显示它。"

例如,我输入100和200.在此区间中有153。 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3(1 + 125 + 27) 节目显示153。

cin >> n;
cin >> m;
    for (int i=n; i<=m; i++)
    {
        for (int k=n; k<=i; k++)
        {
                a = n % 10; //for example, I enter 153, then a=3
                f = n /= 10; //f=15
                b = f % 10;  //b=5
                f = f /= 10; //f=1
                c = f % 10; //c=1
                f = f /= 10;
                d = f % 10;

                for (int j=1; j<=5; j++)
                {
                    a = a * a;
                    b = b * b;
                    c = c * c;
                    d = d * d;
                    if (a + b + c + d == n)
                    {
                        cout << n << endl;
                    }
                }
        }
    }

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

  

任务是输入数字n,m。程序必须将其作为一个区间,在该区间内检查是否有任何数字是具有相同指数的数字之和。

假设范围是Boolean doagain = true; // after Scanner in while(doagain) { // your code System.out.println("would you like to calculate again?(y/n)"); if ( in.next().toLowerCase().equals("n") ) doagain = false; } // end while // your code ,那么这是您的计划:

[n, m)

任何数字都可以看作具有相同指数的数字之和。例如:

return (n != m);

等等。即使对于负数也是如此。

因此,在任何非空范围内,至少存在1个这样的数字。

答案 1 :(得分:0)

&#34;我所知道的是如何让程序分别检查每个号码&#34; &#34;程序不得使用数组。&#34;

.OnKey

对不起,是Java no C ++

答案 2 :(得分:0)

很抱歉,我这么晚回答,我的问题很糟糕 - 英语不是我的母语。

但事实证明我没有正确理解我的任务。这是:

“用户输入两个数字。程序将其作为检查所有数字的时间间隔。如果有一个数字在间隔中,所有数字的SAME指数总和就是那个数字,那么程序会显示它。”

例如,我输入100和200.在此间隔中有153。 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3(1 + 125 + 27) 节目显示153。

cin >> n;
cin >> m;
    for (int i=n; i<=m; i++)
    {
        for (int k=n; k<=i; k++)
        {
                a = n % 10; //for example, I enter 153, then a=3
                f = n /= 10; //f=15
                b = f % 10;  //b=5
                f = f /= 10; //f=1
                c = f % 10; //c=1
                f = f /= 10;
                d = f % 10;

                for (int j=1; j<=5; j++)
                {
                    a = a * a;
                    b = b * b;
                    c = c * c;
                    d = d * d;
                    if (a + b + c + d == n)
                    {
                        cout << n << endl;
                    }
                }
        }
    }