【问题标题】:How to display prime numbers in c#如何在c#中显示素数
【发布时间】:2010-11-30 08:22:59
【问题描述】:

如何在c#中显示1到100之间的质数?

【问题讨论】:

  • 我的猜测是这是家庭作业……在这种情况下,我不会仅仅提供解决方案,因为这不会帮助您学习。但是,我们会帮助您到达那里。你走了多远?你觉得有什么困难?
  • 听起来像是家庭作业 - 你自己尝试过吗?
  • 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
  • 你至少应该努力回答你自己的问题。另外,请注意问题应以问号结尾,并尝试提供任何可能需要的其他信息才能得到回答。
  • 如何在 C# 中打招呼

标签: c#


【解决方案1】:

这可能会有所帮助:

using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            System.Console.WriteLine("2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97");
        }
    }
}

【讨论】:

    【解决方案2】:
    【解决方案3】:

    尝试以单线方式解决此类问题总是很有趣... ;)

    Enumerable.Range(2, 100).Where(n => Enumerable.Range(2, n - 2).Count(d => n % d == 0) == 0).ToList().ForEach(Console.WriteLine);
    

    【讨论】:

    • @zzzuperfly:认真的吗?您真的认为他可以将其作为自己的代码提交吗?好吧,如果他这样做,我希望我能在那里看到他试图解释它......
    • @Guffa:非常好。我很惊讶地看到,对于 Range(2, 40000),此代码仅比其在两个 for 语句 List 和全部。
    【解决方案4】:

    我认为您应该尝试实施 Eratosthenes 筛。有更复杂的筛子可用,但这通常是一个很好的开始。

    确保您正确选择数据类型,不要因选择错误而浪费空间

    如果要求与您的问题一样宽松,您甚至可以使用一个简单的打印语句来输出一个准备好的素数列表;)najmeddine 已经为您提供了所需的信息......

    【讨论】:

      【解决方案5】:

      我建议http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes 几年前我在 Turbo Pascal 7 中写了一个这样的方法(哇,我这么老了!)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-02
        • 1970-01-01
        • 2020-04-07
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 2017-12-06
        • 1970-01-01
        相关资源
        最近更新 更多