一、问题描述。
用穷举法找出1~100的质数。
二、设计思路。
1.判断1~100之内的的质数,只需要判断1~根号100内是否还有整数可除即可
2.利用sqrt求出“i”的平方根,从2开始与比它小或者等于的“j”依次进行判断,如果存在与j求余为0的情况则令flag=0;结束循环。“i”+1,进行下一次的判断。
3.如果不存在比“i”的平方根小于等于的或者不存在求余为0的情况则输出该数。i”+1进行下一次的判断。
三、程序流程图
四、代码实现
//while方法
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int i, j, k, flag;
i = 2;
while (i <= 100) {
j = 2;
k = sqrt(i);
flag = 1;
while (j <= k) {
if (i % j == 0) {
flag = 0;
break;
}
j++;
}
if (flag) {
cout << i << "是质数" << endl;
}
i++;
}
return 0;
}
//do...while方法
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int i, j, k, flag;
i = 2;
do {
j = 2;
k = sqrt(i);
flag = 1;
do {
if (i % j == 0) {
flag = 0;
break;
}
j++;
}
while (j <= k);
if (flag) {
cout << i << "是质数" << endl;
}
i += 1;
}
while (i <= 100);
return 0;
}
//for循环方法:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << "2是质数" << endl;
int i, j, k, flag;
for (i = 3; i <= 100; i++) {
k = sqrt(i);
flag = 1;
for (j = 2; j<=k; j++) {
if (i % j==0){
flag = 0;
break;
}
}
if (flag != 0) {
cout << i << "是质数" << endl;
}
}
return 0;
}
标签:穷举法,int,质数,while,flag,100,include From: https://www.cnblogs.com/dmx-03/p/17320486.html