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

时间:2022-01-13 14:47:21

题目

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

代码:

  

 Console.WriteLine("请输入任意一个自然数。");
string number = Console.ReadLine();
if (string.IsNullOrEmpty(number))
{
Console.WriteLine("请输入数据。");
}
else
{
Regex rx = new Regex("^[0-9]*$");
if (rx.IsMatch(number))
{
int inputNum= Convert.ToInt32(number);
bool isTreue = true;
for (int i = inputNum - ; i > ; i--)
{
if (inputNum % i == )
{
Console.WriteLine("你输入{0}的数不是素数", inputNum);
isTreue = false;
int res = GetNumber(inputNum);
Console.WriteLine("比它大的第一个素数是{0}", res);
break;
}
}
if (isTreue)
{
Console.WriteLine("你输入{0}的是素数", inputNum);
} }
else
{
Console.WriteLine("请输入数字。"); } }

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

 private static int GetNumber(int beginNum)
{
beginNum++;
for (int i = beginNum - ; i > ; i--)
{
if (beginNum % i == )
{
return GetNumber(beginNum);
}
}
return beginNum;
}