c++质数判定及输出质数表


      本程序提示用户输入最大值,以此为范围,从最小质数2开始举判断质数,输出质数表。代码如下:

 1 // 素数表.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 
 6 
 7 int main()
 8 {
 9     int x = 2,y=1,b,line=0; //x最小质数2为枚举起点,y初值为1,之后递加1,b范围内最大质数,line每行输出的数的数量
10         cout << "请输入最大值:";
11         cin >> b;
12 
13         while (x <= b)
14         {
15             int z = x - y; //z随y递减1
16             int a = x%z; //取余数
17             if (a == 0)//如果x被z整除
18             {
19                 if (z == 1)//如果z为1(x是质数)
20                 {
21                     cout << x << "  ";//输出x
22                     x++;
23                     y = 1; //y还原
24                     line++;//每行输出的数的数量加1
25 
26                 }
27                 else//如果x为合数
28                     x++;
29                 y = 1;//y还原
30 
31 
32 
33             }
34             else//如果没有被整除
35                 y++;//y加1,下一次循环中z减1                            
36 
37 
38             if (line == 10)//每输出10个数                                                                                   
39             {
40                 cout << endl;//输出一个回车           
41                 line = 0;//还原line
42 
43             }
44         
45 
46     }
47     system("pause");
48     return 0;
49 }

以输入最大值为100为例,执行结果如下图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM