请用c语言写一个程序:输入一个整数n,要求输出所有从1到这个整数之间个位为1的素数,如果没有则输出-1
时间: 2024-11-29 14:32:38 浏览: 0
在C语言中,我们可以编写一个简单的程序来实现这个需求。首先,我们需要一些辅助函数来判断一个数是否为素数。然后我们遍历给定范围内的数字,如果一个数的个位是1并且它是素数,就将其打印出来。以下是一个基本的实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数的辅助函数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
// 主函数,输入一个整数并输出相应结果
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
if (n < 2) {
printf("-1\n");
} else {
bool found = false;
for (int i = 2; i <= n; ++i) { // 从2开始,因为1不是素数
if (i % 10 == 1 && is_prime(i)) {
printf("%d ", i);
found = true;
}
}
if (!found) {
printf("-1\n"); // 如果没有找到个位为1的素数,输出-1
} else {
printf("\n");
}
}
return 0;
}
```
在这个程序中,用户会被提示输入一个整数,然后它会检查该范围内是否有个位为1的素数,并打印出结果。
阅读全文