输入自然数n,利用C语言判其是否为素数。
时间: 2024-05-14 22:13:50 浏览: 21
好的,我来回答你的问题。以下是 C 语言代码实现找出一个自然数是否为素数。
```c
#include <stdio.h>
int main()
{
int n, i, flag=0;
printf("请输入一个整数n: ");
scanf("%d", &n);
for (i = 2; i <= n/2; ++i) {
// 如果n不是素数
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("%d既不是素数也不是合数。", n);
}
else {
if (flag == 0) {
printf("%d是一个素数。", n);
}
else {
printf("%d不是一个素数。", n);
}
}
return 0;
}
```
希望这个代码对你有所帮助。
相关问题
输入自然数n,判其是否为素数。我要c语言代码
好的,以下是判断一个自然数n是否为素数的C语言代码:
```c
#include <stdio.h>
#include <stdbool.h>
/* 判断一个自然数是否为素数 */
bool is_prime(int n) {
if (n <= 1)
return false;
int i;
for (i = 2; i * i <= n; ++i)
if (n % i == 0)
return false;
return true;
}
int main() {
int n;
printf("请输入一个自然数n:");
scanf("%d", &n);
if (is_prime(n))
printf("%d是素数\n", n);
else
printf("%d不是素数\n", n);
return 0;
}
```
注意:在以上代码中,我们使用了bool类型(布尔类型),因此需要添加stdbool.h头文件。另外,在函数is_prime中,我们使用了"for (i = 2; i * i <= n; ++i)"这种判断方法,可以有效减少计算量,提高算法效率。
c语言 输入一个自然数,判断其是否为素数
以下是一个判断自然数是否为素数的C语言代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个自然数:");
scanf("%d", &num);
if (num < 2) {
printf("%d不是素数。\n", num);
} else {
int i;
for (i = 2; i < num; i++) {
if (num % i == 0) {
printf("%d不是素数。\n", num);
break;
}
}
if (i == num) {
printf("%d是素数。\n", num);
}
}
return 0;
}
```
程序首先通过`scanf`函数获取用户输入的自然数,然后判断是否小于2,如果是,则输出不是素数;否则,程序从2开始遍历到该自然数的前一个数,如果发现该自然数可以被任意一个小于它的数整除,则输出不是素数;否则,输出是素数。