public void ListTheBiggestNumberNotDividedBy2357()
{
for (int i = 1; i < 1001; i++)
{
if (!(i % 2 == 0) && !(i % 2 == 0) && !(i % 5 == 0) && !(i % 7 == 0))
{
Console.WriteLine(i);
}
}
}
如何只显示最大的数字?我试过 Math.Max() 但我想这不是我应该写的。
最佳答案
(请注意,我已经修复了您的 !(i % 2 == 0) && !(i % 2 == 0)
拼写错误,它应该是 !(i % 2 == 0) && !(i % 3 == 0)
。)
缓慢的方式
保留一个 currentBiggest
并在每次找到这样的数字时更新它:
public void ListTheBiggestNumberNotDividedBy2357()
{
int currentBiggest = 0;
for (int i = 1; i < 1001; i++)
{
if (!(i % 2 == 0) && !(i % 3 == 0) && !(i % 5 == 0) && !(i % 7 == 0))
{
currentBiggest = i;
}
}
Console.WriteLine(currentBiggest);
}
快捷方式
从 1000 开始向下。打印您找到的第一个数字和
break;
,它会停止循环。public void ListTheBiggestNumberNotDividedBy2357()
{
for (int i = 1000; i > 0; i--)
{
if (!(i % 2 == 0) && !(i % 3 == 0) && !(i % 5 == 0) && !(i % 7 == 0))
{
Console.WriteLine(i);
break;
}
}
}
关于C# 找出不除以 2、3、5 和 7 但小于 1000 的最大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62024866/