这样应该就好了- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication2
- {
- class Program
- {
- static void Main(string[] args)
- {
- string flag = "";
- do
- {
- int j = 3;
- Console.WriteLine("请输入一个正整数,我们将判断是否为素数");
- int num = Convert.ToInt32(Console.ReadLine());
- if (num == 2)
- Console.WriteLine("2是素数");
- else if (num % 2 == 0)
- Console.WriteLine("{0}不是素数,可以被2整除", num);
- else
- {
- for (; j <= (int)Math.Sqrt(num); j += 2)
- {
- if (num % j == 0)
- break;
- }
- if (j >= ((int)Math.Sqrt(num)) + 1) //这里选择+1很重要,+2是错误的
- Console.WriteLine("{0}是素数", num);
- else
- Console.WriteLine("{0}不是素数,可以被{1}整除", num, j); //人性化一点给出不是素数的证据
- }
- Console.WriteLine("输入y退出,其他继续");
- flag = Console.ReadLine();
- } while (flag != "y" );
- Console.ReadKey();
- }
- }
- }
复制代码 |