输入n,输出从1到n的素数用C语言写代码
时间: 2023-05-27 12:05:06 浏览: 71
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("从1到%d的素数为:\n", n);
for (int i = 1; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
return 0;
}
相关问题
用C语言写出输入n,输出1-n的素数的代码
```
#include <stdio.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("1-%d之间的素数有:\n", n);
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
输入大于2的正整数n,求解并输出不大于n的最大素数用C语言写代码
以下是使用C语言编写的代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num == 2 || num == 3) {
return true;
}
if (num == 1 || num % 2 == 0) {
return false;
}
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
printf("请输入一个正整数n(n > 2):");
scanf("%d", &n);
int max_prime = 2;
for (int i = 3; i <= n; i += 2) {
if (is_prime(i)) {
max_prime = i;
}
}
printf("不大于%d的最大素数是%d\n", n, max_prime);
return 0;
}
```
代码的思路是先定义一个判断一个数是否为素数的函数`is_prime`,然后在`main`函数中读入一个正整数n,从3开始到n,每次判断是否为素数并更新最大素数。最后输出结果。
阅读全文