1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace 判断一个数是否是素数
7 {
8 class Program //循环输入判断一个数是否为素数 由于在网上没看到正确的,出于愤慨,自己手写了个。
9 {
10 static void Main(string[] args)
11 {
12 while (true)
13 {
14 try
15 {
16 Console.WriteLine("请输入一个自然数:");
17 uint j = 0; //定义一个uint变量,用来记录平方根之后的最大数
18 uint uintNum = Convert.ToUInt32(Console.ReadLine()); //记录输入的数
19 if (uintNum == 0 || uintNum == 1)
20 {
21 Console.WriteLine(uintNum + "既不是素数也不是合数");
22 }
23 else if (uintNum == 2)
24 {
25 Console.WriteLine(uintNum + "是素数");
26 }
27 else
28 {
29 j = (uint)Math.Ceiling(Math.Sqrt(Convert.ToDouble(uintNum))); //为j赋值
30 for (uint i = 2; i <= j; i++)
31 {
32 int Remainder = Convert.ToInt32(Math.IEEERemainder(uintNum, i));
33 if (Remainder == 0)
34 {
35 Console.WriteLine(uintNum + "是合数");
36 break;
37 }
38 else
39 {
40 if (i == j)
41 {
42 if (Remainder != 0)
43 {
44 Console.WriteLine(uintNum + "是素数");
45 break;
46 }
47 }
48 continue;
49 }
50 }
51 }
52 }
53 catch (Exception ex)
54 {
55 Console.WriteLine("请输入自然数,错误为{0}",ex.Message);
56 }
57 }
58 }
59 }
60 }

 

posted on 2012-03-29 17:02  The Soul  阅读(2260)  评论(0编辑  收藏  举报