我为我最近的帖子道歉,我不清楚,做了很少的研究,并且违反了一些网站的规则。因此,我正在上传一个实际工作代码的新版本,除了一个问题。我对此代码的回报是“1”,而不是我正在寻找的结果:“600851475143”的最大素数。这是修改后的,希望更容易理解的代码。再次,我很抱歉违反了网站的政策。
public long Prob_3()
{
long a = 600851475143;
int e = 1;
for (long i = 0; i < 10; i++)
{
if (a % 2 == 0 && a != 1)
{
a = a / 2;
}
else if (a % 2 != 0 && a % (e + 2) == 0 && a != 1)
{
a = a / (e + 2);
}
while (a % 2 != 0 && a % (e + 2) != 0 && a != 1)
{
e = e + 2;
}
}
return a;
}