0

以下は私のコードですが、本来の方法で動作させることができません。

素数を見つける必要があります (これでうまくいきます)。次に、素数が 7 と 3
(63 = 7 * 3 * 3または7 = 7) の場合、その数は魔法の数であり、それ以外 (98 = 7 * 7 * 2または42 = 7 * 3 * 2) が含まれている場合はそうではありません。

私はここで立ち往生しています:

if (b != 7 && b != 3)

                        Console.WriteLine(k);
 else
                        Console.WriteLine(j);

修正方法がわかりません。コード全体は次のとおりです。

         string k="isnt magical";
        string j = "is magical";
        int a, b;
        Console.WriteLine("Vnesite svoje stevilo: ");
        a = Convert.ToInt32(Console.ReadLine());
        for (b = 2; a > 1; b++)/
            if (a % b == 0)
            {

                while (a % b == 0)
                {
                    a /= b;

                }


                if (b != 7 && b != 3)
                    Console.WriteLine(k);
                else
                    Console.WriteLine(j);
       }
4

1 に答える 1

0

"isnt magical"あなたは、または"is magical"すべての要因のために印刷しています。コードは次のようになります。

string k = "isnt magical";
string j = "is magical";
int a, b;
Console.WriteLine("Vnesite svoje stevilo: ");
a = Convert.ToInt32(Console.ReadLine());

var allMagical = true;
for(b = 2; a > 1; b++) if(a % b == 0)
{
    while(a % b == 0) a /= b;
    if(b != 7 && b != 3) allMagical = false;
}

Console.WriteLine(allMagical ? j : k);
于 2013-05-19T11:42:41.840 に答える