- using System;
- namespace prime_number
- {
- internal class Program
- {
- /// <summary>
- /// 判斷用戶輸入的是否爲一個質數,若是輸入q則退出程序!
- /// </summary>
- /// <param name="args"></param>
- private static void Main(string[] args)
- {
- do
- {
- Console.WriteLine("請輸入一個正整數(q退出):");
- string imput = Console.ReadLine();
- if (imput != "q") //判斷用戶是否輸入q,不是的繼續執行。
- {
- int number;
- if (int.TryParse(imput, out number)) //判斷用戶輸入的是否能夠轉換爲一個整數
- {
- if (number > 0)
- {
- if (PrimeNum(number)) //調用PrimeNum方法判斷用戶輸入的整數是否爲質數
- {
- Console.WriteLine("{0}是一個質數!", number);
- }
- else
- {
- Console.WriteLine("{0}不是一個質數!", number);
- }
- }
- else
- {
- Console.WriteLine("您輸入的不是一個正數");
- }
- }
- else
- {
- Console.WriteLine("您輸入的不是一個整數!");
- }
- }
- else //用戶輸入q,退出循環。
- {
- break;
- }
- } while (true);
- Console.ReadKey();
- }
- /// <summary>
- /// 判斷一個數是否爲質數
- /// </summary>
- /// <param name="number">一個整數</param>
- /// <returns></returns>
- private static bool PrimeNum(int number)
- {
- //判斷number是否能夠被2至number的平方根之間的數整除
- for (int i = 2; i <= Math.Sqrt(number); i++)
- {
- if (number % i == 0)
- {
- return false; //能夠整除爲非質數
- }
- }
- return true; //不能夠整除爲質數
- }
- }
- }