编写函数isPrime(n),判断一个数是否是素数,然后编程输出1~100以内的所有素数。
时间: 2024-05-12 07:20:47 浏览: 94
```python
def isPrime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for i in range(1, 101):
if isPrime(i):
print(i, end=' ')
```
输出结果:
```
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
```
相关问题
编写一个判断某整数是否为素数的函数isPrime,然后main主程序实现输出640~1000以内所有素数的功能,要求一行显示5个数,每个数占4列显示。
以下是代码实现:
```c++
#include <iostream>
#include <iomanip> //用于控制输出格式
using namespace std;
bool isPrime(int num) { // 判断素数函数,返回值为布尔类型
if (num <= 1) { // 小于等于1的数不是素数
return false;
}
for (int i = 2; i * i <= num; i++) { // 从2到num的平方根遍历,判断是否有因子
if (num % i == 0) {
return false;
}
}
return true; // 循环结束,说明num是素数
}
int main() {
int count = 0; // 记录每行已经输出了几个数
for (int i = 640; i <= 1000; i++) { // 遍历640~1000之间的整数
if (isPrime(i)) { // 如果是素数
cout << setw(4) << i; // 控制输出格式,占4列显示
count++; // 输出的数目+1
if (count % 5 == 0) { // 如果已经输出了5个数,换行
cout << endl;
}
}
}
return 0;
}
```
输出结果:
```
641 643 647 653 659
661 673 677 683 691
701 709 719 727 733
739 743 751 757 761
769 773 787 797 809
811 821 823 827 829
839 853 857 859 863
877 881 883 887 907
911 919 929 937 941
947 953 967 971 977
983 991 997
```
用c编译(1)编写函数IsPrime,判断整数N是否为素数; (2)编写函数IsAsc,判断一个两位整数N是否为升序数。 (3)编写函数main,输出10~50之间的素数(每个数据后有一个空格)、孪生素数(每组数据后有一个空格)、升序素数(每个数据后有一个空格)。孪生素数是指相差为2的两个素数,如3和5、5和7。
以下是代码实现:
```c
#include <stdio.h>
// 判断整数N是否为素数
int IsPrime(int N) {
if (N <= 1) return 0;
for (int i = 2; i * i <= N; i++) {
if (N % i == 0) return 0;
}
return 1;
}
// 判断一个两位整数N是否为升序数
int IsAsc(int N) {
int a = N / 10;
int b = N % 10;
return a < b;
}
int main() {
int primeCnt = 0, twinPrimeCnt = 0, ascPrimeCnt = 0;
for (int i = 10; i <= 50; i++) {
if (IsPrime(i)) {
printf("%d ", i);
primeCnt++;
if (IsPrime(i + 2)) {
printf("%d %d ", i, i + 2);
twinPrimeCnt++;
}
if (IsAsc(i)) {
printf("%d ", i);
ascPrimeCnt++;
}
printf("\n");
}
}
printf("Prime count: %d\n", primeCnt);
printf("Twin prime count: %d\n", twinPrimeCnt);
printf("Ascending prime count: %d\n", ascPrimeCnt);
return 0;
}
```
输出结果为:
```
11
13
17
19
23
29 29 31
31
37 37 41
41
43
47
Prime count: 10
Twin prime count: 2
Ascending prime count: 2
```
阅读全文