找出小于m的最大的10个素数。 输入格式: 输入在一行中给出一个正整数m(50<m<20000)。 输出格式: 在一行中按递减顺序输出10个满足条件的素数
时间: 2023-11-24 21:52:09 浏览: 67
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
m = int(input())
res = []
i = m - 1
while len(res) < 10 and i > 1:
if is_prime(i):
res.append(i)
i -= 1
for i in range(9):
print('{:6d}'.format(res[i]), end='')
print('{:6d}'.format(res[9]))
```
--相关问题--:
1. 如何判断一个数是否为素数?
2. 如何找出一个数列
相关问题
给定一个整数m(50<m<20000),找出小于m的最大的10个素数。 输入格式: 输入在一行中给出一个正整数m(50<m<20000)。 输出格式: 在一行中按递减顺序输出10个满足条件的素数,
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
m = int(input())
primes = []
for i in range(m-1, 1, -1):
if is_prime(i):
primes.append(i)
if len(primes) == 10:
break
for i in range(10):
print('{:6d}'.format(primes[i]), end='')
```
--相关问题--:
1. 如何判断一个数是否为素数?
2. 如何找出一个数列
C语言给定一个整数m(50<m<20000),找出小于m的最大的10个素数。 输入格式: 输入在一行中给出一个正整数m(50<m<20000)。 输出格式: 在一行中按递减顺序输出10个满足条件的素数,每个素数输出占6列。没有其它任何附加格式和字符。
以下是C语言找出小于m的最大的10个素数的代码实现:
```c
#include <stdio.h>
// 判断是否为素数
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;
}
int main() {
int m, count = 0;
scanf("%d", &m);
for (int i = m - 1; i > 0; i--) {
if (isPrime(i)) {
printf("%6d", i);
count++;
}
if (count == 10) {
break;
}
}
return 0;
}
```
阅读全文