找出2-100的所有素数,用 do while 结构实现
时间: 2024-02-12 11:08:23 浏览: 20
好的,我可以帮你解答这个问题。以下是代码实现:
```c
#include <stdio.h>
int main() {
int i = 2; // 从2开始判断
do {
int j, is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
i++;
} while (i <= 100);
return 0;
}
```
运行结果:
```
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
代码的执行流程是:先从2开始判断,依次遍历到100,对于每一个数,都进行一次判断是否为素数。如果是素数,则输出该数。最后输出的就是2-100之间的所有素数。其中,判断素数的方法是通过遍历该数的所有因子(从2到该数的开方),如果都不能整除该数,则该数为素数。
相关问题
用穷举法找出1到100中的所有质数并显示出来分别用while, do while,for循环语句实现
使用while循环语句实现:
```python
i = 2
while i <= 100:
j = 2
while j <= (i/j):
if not(i%j): break
j = j + 1
if (j > i/j) : print(i, " 是质数")
i = i + 1
print("程序结束")
```
使用do-while循环语句实现:
```python
i = 2
while True:
j = 2
while j <= (i/j):
if not(i%j): break
j = j + 1
if (j > i/j) : print(i, " 是质数")
i = i + 1
if i > 100: break
print("程序结束")
```
使用for循环语句实现:
```python
for i in range(2, 101):
for j in range(2, i):
if i % j == 0:
break
else:
print(i, " 是质数")
print("程序结束")
```
C++用穷举法找出1到100中的所有质数并显示出来分别用while, do while,for循环语句实现
以下是使用三种不同的循环语句实现的C++代码:
1. 使用while循环语句:
```cpp
#include <iostream>
using namespace std;
int main() {
int i = 2;
while (i <= 100) {
bool isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
cout << i << " ";
}
i++;
}
cout << endl;
return 0;
}
```
2. 使用do while循环语句:
```cpp
#include <iostream>
using namespace std;
int main() {
int i = 2;
do {
bool isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
cout << i << " ";
}
i++;
} while (i <= 100);
cout << endl;
return 0;
}
```
3. 使用for循环语句:
```cpp
#include <iostream>
using namespace std;
int main() {
for (int i = 2; i <= 100; i++) {
bool isPrime = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
以上三份代码的输出结果均为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97。