函数判断一个整数是否是素数,若是则输出原数,若不是则输出0。c语言
时间: 2024-02-11 07:07:26 浏览: 29
下面是一个函数判断一个整数是否是素数,若是则输出原数,若不是则输出0的C语言实现:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d\n", num);
} else {
printf("0\n");
}
return 0;
}
```
该程序定义了一个 `isPrime` 函数,用于判断一个整数是否为素数。该函数首先判断输入的数是否小于等于1,若是则直接返回false。接着从2开始遍历到该数的平方根,若能整除任意一个数,则该数不是素数,返回false,否则返回true。
在 `main` 函数中,首先输入一个整数 `num`,然后调用 `isPrime` 函数进行判断。若是素数,则输出该数,否则输出0。
相关问题
c语言判断一个数是不是质数的函数,是质数输出1,不是输出2
### 回答1:
好的,以下是用 C 语言编写判断一个数是否是质数的函数的代码:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0; // 0 and 1 are not prime numbers
}
// Check if n is divisible by any number from 2 to n-1
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0; // n is not prime
}
}
return 1; // n is prime
}
int main() {
int n;
printf("Please enter a number: ");
scanf("%d", &n);
if (is_prime(n)) {
printf("%d is a prime number.\n", n);
} else {
printf("%d is not a prime number.\n", n);
}
return 0;
}
```
注意:在本例中,如果输入的数字小于2,则将其视为不是质数。
### 回答2:
c语言判断一个数是否为质数的函数可以通过以下方式实现:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
// 质数必须大于1
if (num <= 1) {
return 2;
}
// 判断num是否能被2到sqrt(num)之间的数整除
for (i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 2;
}
}
// 如果循环结束还没有返回2,则num为质数,返回1
return 1;
}
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (isPrime(num) == 1) {
printf("%d是质数\n", num);
} else {
printf("%d不是质数\n", num);
}
return 0;
}
```
以上代码中,`isPrime`函数用于判断一个数是否为质数。如果一个数小于等于1,则不是质数,直接返回2;否则,通过循环判断该数是否能被2到其平方根之间的数整除,如果能被整除,则返回2,表示不是质数;如果循环结束后没有返回2,则表示该数为质数,返回1。
在`main`函数中,通过调用`isPrime`函数判断输入的数是否为质数,并输出相应的结果。
### 回答3:
下面给出一个用C语言编写的判断一个数是不是质数的函数的示例:
```c
#include <stdio.h>
int isPrime(int num) {
// 质数必须大于1
if (num <= 1) {
return 2;
}
// 质数只能被1和自身整除
for (int i = 2; i <= num/2; i++) {
if (num % i == 0) {
return 2;
}
}
return 1;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int result = isPrime(num);
if (result == 1) {
printf("%d是质数\n", num);
} else {
printf("%d不是质数\n", num);
}
return 0;
}
```
这个函数名为`isPrime()`,接受一个整数作为参数`num`,通过遍历从2到`num/2`之间的所有数字,判断`num`是否能够被其中的任意数整除。如果能够整除,则说明`num`不是质数,函数返回2;否则,说明`num`是质数,函数返回1。在`main()`函数中,我们调用该函数,并根据返回值输出相应的结果。
用C语言输入一个整数m,利用func函数判断是否为素数,如果是则输出yes,不是则输出no。
以下是代码示例:
```c
#include <stdio.h>
int func(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("请输入一个整数:");
scanf("%d", &m);
if (func(m)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
首先我们定义了一个 `func` 函数,用来判断一个数是否为素数。然后在 `main` 函数中,读入一个整数 `m`,调用 `func` 函数判断是否为素数,然后输出相应的提示信息。