C# 判斷質數的2種基本方法

來源:互聯網
上載者:User

標籤:除了   判斷   需要   sum   問題   其他   target   false   基本   

質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。目前學習了判斷數字n是否為質數的2種基本方法:一、計數法根據定義,既然質數只能夠被1和他本身整除。我們可以統計出1到n範圍內的整數,能夠整除n的個數。再判斷這個個數是否等於2就可以知道n是不是質數。代碼如下:            int n = int.Parse(Console.ReadLine()); ;
            int sum = 0;
            for (int i = 1; i <= n; i++)
            {
                if (n % i == 0)
                {
                    sum += 1;
                }
            }
            if (sum == 2)
            {
                Console.WriteLine("n是質數");
            }
            else
            {
                Console.WriteLine("n不是質數");
            }

二、尋找法可以尋找2 到n-1範圍內所有的數去除n,如果能夠整除,這表明這個數不是質數。代碼如下:            int n = int.Parse(Console.ReadLine()); ;
            bool isFind = false;
            for (int i = 2; i <= n - 1; i++)
            {
                if (n % i == 0)
                {
                    isFind = true;
                    break;
                }
            }
            if (!isFind)
            {
                Console.WriteLine("n是質數");
            }
            else
            {
                Console.WriteLine("n不是質數");
            }思考:計數法需要判斷1到n範圍內的所有整數是夠能整除n,如果n的值比較大相應的計算量就較大。尋找法一旦找到2到n-1範圍內第一個能夠整除n的數就會跳出迴圈,但是如果要判斷出質數也要所有的都除一遍都不能整除才能得出是質數的結論,如果n的值比較大也同樣會面對計算量就較大的問題。如果一個程式中有多次判斷質數,再在這些結論的基礎上運行下一步程式,整個程式運行速度就會慢。比如哥赫巴德猜想(任何大於2的偶數都可以分解成2個質數的和)中如果輸入的數為7位元或8位元,程式明顯會慢很多才能運行完。總的來說,電腦只能按照設定的程式來執行,演算法需要人來最佳化。  

C# 判斷質數的2種基本方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.