C# 确定数字是否包含特定的素数因子
下面是我的代码,我无法让它按应有的方式工作 我必须找到素数(这很好用)。然后,如果素数是7和3C# 确定数字是否包含特定的素数因子,c#,prime-factoring,C#,Prime Factoring,下面是我的代码,我无法让它按应有的方式工作 我必须找到素数(这很好用)。然后,如果素数是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); 我不知道怎么修
(
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);
}
您正在为每个因素打印“不是魔法”
或“是魔法”
。
您的代码应该如下所示:
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);