标签:
本程序提示用户输入最大值,以此为范围,从最小质数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为例,执行结果如下图:
标签:
原文地址:http://www.cnblogs.com/X-star/p/5667370.html