输入几个数,把素数找出,由小到大排序输出。
时间: 2023-05-24 07:06:06 浏览: 58
以下是Python代码实现:
```python
def is_prime(n):
"""判断是否为素数"""
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 输入多个数
nums = input("请输入多个数,以空格分隔:").split()
# 筛选出素数并排序
primes = []
for num in nums:
if is_prime(int(num)):
primes.append(int(num))
primes.sort()
# 输出结果
if primes:
print("素数有:", end="")
for prime in primes:
print(prime, end=" ")
else:
print("没有素数。")
```
程序运行效果示例:
```
请输入多个数,以空格分隔:3 8 2 7 10 19 6
素数有:2 3 7 19
```
相关问题
输入几个数,把素数找出,由小到大排序输出。c语言编写
#include <stdio.h>
// 判断一个数是否为素数
int is_prime(int n)
{
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
int nums[100];
int n, i, j;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 找出所有素数
int primes[100];
int len = 0;
for (i = 0; i < n; i++) {
if (is_prime(nums[i])) {
primes[len++] = nums[i];
}
}
// 冒泡排序,由小到大排序
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (primes[j] > primes[j + 1]) {
int temp = primes[j];
primes[j] = primes[j + 1];
primes[j + 1] = temp;
}
}
}
// 输出所有素数
for (i = 0; i < len; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
c语言输入一个整数 n,由小到大输出 n 以内的所有素数。
以下是C语言实现输入一个整数n,由小到大输出n以内的所有素数的代码:
```c
#include <stdio.h>
int main() {
int n, i, j, flag;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("%d以内的素数有:", n);
for (i = 2; i <= n; i++) {
flag = 1; // 假设i是素数
for (j = 2; j < i; j++) {
if (i % j == 0) { // 如果i能被j整除,说明i不是素数
flag = 0; // 修改标志位
break;
}
}
if (flag == 1) { // 如果标志位没有被修改,说明i是素数
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```