【机试题】c# 是否是素数,找出比它大的第一个素数

题目

  输入一个自然数 判断是否是素数,是素数则提示是素数,否则找出比它大的第一个素数

代码:

  

 1 Console.WriteLine("请输入任意一个自然数。");

 2             string number = Console.ReadLine();

 3             if (string.IsNullOrEmpty(number))

 4             {

 5                 Console.WriteLine("请输入数据。");

 6             }

 7             else

 8             {

 9                 Regex rx = new Regex("^[0-9]*$");

10                 if (rx.IsMatch(number))

11                 {

12                     int inputNum= Convert.ToInt32(number);

13                     bool isTreue = true;

14                     for (int i = inputNum - 1; i > 1; i--)

15                     {

16                         if (inputNum % i == 0)

17                         {

18                             Console.WriteLine("你输入{0}的数不是素数", inputNum);

19                             isTreue = false;

20                             int res = GetNumber(inputNum);

21                             Console.WriteLine("比它大的第一个素数是{0}", res);

22                             break;

23                         }

24                     }

25                     if (isTreue)

26                     {

27                          Console.WriteLine("你输入{0}的是素数", inputNum);

28                     }

29                     

30 

31                 }

32                 else

33                 {

34                     Console.WriteLine("请输入数字。");

35 

36                 }

37 

38             }
View Code

查找下一个最大的素数函数

 private static int GetNumber(int beginNum)

        {

            beginNum++;

            for (int i = beginNum - 1; i > 1; i--)

            {

                if (beginNum % i == 0)

                {

                  return  GetNumber(beginNum);

                }

            }

            return beginNum;

        }

 

  

你可能感兴趣的:(C#)