不是高手,我试了下,这样应该可行。- //使用标记flag来记录是否是素数
- bool flag;
- for (int i = 1; i <= 1000; i++)
- {
- //每次循环开始初始化flag=true
- flag = true;
-
- if (i == 1 || i == 2 || i == 3)
- {
- Console.WriteLine("{0}是素数", i);
- }
- else
- {
- //也可以是for (int j = 2; j <= i/2; j++)
- for (int j = 2; j < i; j++)
- {
- //只要有一次i被j整除,就把flag记录为false,不是素数
- if (i % j == 0)
- {
- //Console.WriteLine("{0}不是素数", i);
- flag = false;
- //后面不用再除了,使用break退出循环
- break;
- }
- }
- //一个循环之后,flag还为true,那么i为素数
- if (flag == true)
- {
- Console.WriteLine("{0}是素数", i);
- }
- }
- }
- Console.ReadKey();
复制代码 |