用C语言写一个区分素数和合数
时间: 2023-05-18 11:04:05 浏览: 56
以下是用C语言写一个区分素数和合数的代码:
#include <stdio.h>
int main() {
int num, i, flag = 0;
printf("请输入一个正整数:");
scanf("%d", &num);
for (i = 2; i <= num / 2; ++i) {
// 如果num能被i整除,则num不是素数
if (num % i == 0) {
flag = 1;
break;
}
}
if (flag == 0)
printf("%d是素数", num);
else
printf("%d是合数", num);
return 0;
}
注意:这只是一个简单的判断素数和合数的代码,对于大数的判断可能会有性能问题。
相关问题
用python写一个分类质数和合数的程序
当然可以,以下是一个用Python编写的分类质数和合数的程序:
```
num = int(input("请输入一个正整数:"))
if num > 1:
for i in range(2, num):
if (num % i) == 0:
print(num, "是合数")
break
else:
print(num, "是质数")
else:
print(num, "既不是质数也不是合数")
```
该程序首先要求用户输入一个正整数,然后进行判断。如果输入的数大于1,则使用一个循环从2开始逐一判断这个数是否能被2到这个数-1之间的任何一个数整除。如果能被整除,则输出“是合数”;否则,输出“是质数”。如果输入的数小于等于1,则输出“既不是质数也不是合数”。
用C语言写一个判断素数的函数
好的,以下是用C语言写一个判断素数的函数的代码:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % 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;
}
```
希望能够帮助到您!