C# 找出不除以 2、3、5 和 7 但小于 1000 的最大数

标签 c#

  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/

相关文章:

c# - 用户控件 anchor 属性问题

c# - 如何将属性直接传递给 OpenGL 中的片段着色器?

c# - ADO 存储过程缺少参数错误...

c# - 在PKCS7(CMS)中使用相同的响应XML签名对多个位置进行签名

c# - 在 Java 中使用 C# 代码

c# - PLINQ 与 TPL 的性能对比

c# - 多线程中的入队和出队

c# - 在循环 wpf 中执行下一个代码之前等待

c# - 在 .NET 中进行字符串模板化的好方法是什么?

c# - 委托(delegate) System.Action 不接受 1 个参数