C#控制台循环判断输入的一个数是否为素数

冷不防 2021-10-30 01:24 457阅读 0赞

2012032917063073.png

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

转载于:https://www.cnblogs.com/zhangsir2012/archive/2012/03/29/2423680.html

发表评论

表情:
评论列表 (有 0 条评论,457人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c#判断一个是否素数

    素数是只能被1或本身整除,且不能为其他两个整数的乘积。1、2、3本身就是素数,判断一个数是否为素数,只需要用这个值依次除以2到它的开方数,如果其中有一个数可以整除,那么该值不为