c语言输入正整数m,判断m是否是素数
时间: 2024-05-06 08:21:25 浏览: 85
好的,这个问题很简单。以下是 C 语言代码:
```
#include <stdio.h>
int is_prime(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;
printf("请输入正整数m:");
scanf("%d", &m);
if (is_prime(m)) {
printf("%d 是素数\n", m);
} else {
printf("%d 不是素数\n", m);
}
return 0;
}
```
我们定义了一个叫做 `is_prime()` 的函数来判断一个数是否是素数。如果输入的数 `m` 是素数,那么程序会输出 `m 是素数`,否则会输出 `m 不是素数`。
相关问题
c语言输入正整数 m=18 ,判断 m 是否是素数。
好的,我来回答您的问题。以下是判断正整数 m 是否是素数的 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int m, i, is_prime = 1;
printf("请输入一个正整数 m:");
scanf("%d", &m);
if (m <= 1) {
is_prime = 0;
} else {
for (i = 2; i <= sqrt(m); i++) {
if (m % i == 0) {
is_prime = 0;
break;
}
}
}
if (is_prime) {
printf("%d 是素数。\n", m);
} else {
printf("%d 不是素数。\n", m);
}
return 0;
}
```
代码的思路是:如果 m 小于等于 1,则不是素数;否则,从 2 到 sqrt(m)(sqrt 表示开方)依次判断 m 是否能被整除,如果能被整除,则 m 不是素数。如果 2 到 sqrt(m) 都不能整除 m,则 m 是素数。
因此,如果输入正整数 m=18,程序会输出:
```
18 不是素数。
```
C语言输入正整数n判断是否为质数
在C语言中,判断一个正整数n是否为质数通常通过以下步骤实现:
1. 首先,定义一个函数`isPrime(n)`,它接受一个正整数n作为输入。
2. 确保输入n大于1,因为1不是质数。
3. 使用嵌套循环遍历从2到sqrt(n)的所有整数。如果n能被其中任何一个整数整除,说明n不是质数,直接返回0(表示非质数)。
4. 如果上述循环结束后都没有找到能整除n的因子,那么n就是质数,返回1(表示质数)。
以下是简单的C代码实现:
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n <= 1) {
return 0; // 1不是质数
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是质数。\n", num);
} else {
printf("%d不是质数。\n", num);
}
return 0;
}
```
阅读全文