具有相同指数的数字之和的数字是相同的数字

时间:2015-10-19 12:22:12

标签: c++

首先,我想对不起,因为我上周提到了类似的问题。我没有正确地理解它,当我编辑那个主题时,似乎没有人看到它。但是我必须明天完成这个程序,因为这是一个家庭任务。

以下是C ++中的程序:

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

例如,我输入100和200.在此间隔中有153。

153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3(1 + 125 + 27)

节目节目153。

但不是28.因为28 = 2 ^ 1 + 2 ^ 3(2 + 8 = 10,而不是28)

等等。

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++) //checks the exponent
                {
                    a = a * a;
                    b = b * b;
                    c = c * c;
                    d = d * d;
                    if (a + b + c + d == n)
                    {
                        cout << n << endl;
                    }
                }
        }
    }

我定义了整数a,b,c,d,所以这段代码可以处理最多4位数的数字。 代码很简单,但我看不出问题。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

你一直在这里a

a = a * a

所以你要用方形,第四种力量来检查......