C语言基础:如何判断素数(质数)与合数
文章目录
C语言基础:如何判断素数(质数)与合数1. 素数与合数2. 正因数与公约数3. 代码示例
1. 素数与合数
素数又叫质数(prime number),有无限个。素数定义为在大于1的自然数中,除了1和它本身两个正因数以外不再有其他因数。如:2,3,5,7,11等皆为素数。比1大而且不是素数的数称为合数(composite number)。如:4,6,8,9,10等皆为合数。数字0和1既非素数也非合数。
2. 正因数与公约数
正因数,也称为正约数,指的是一个整数中大于0的因数。如:24的正因数有1,2,3,4,6,8,12,24。任何整数的最小正因数都是1。公因数,也称为公约数。它是指能同时整除几个整数的数。如:24与16的公约数有1,2,4,8,以及它们的最大公约数为8。对任意的若干个正整数,1总是它们的公因数。
注:最大公约数请见此文章C语言基础:求两个数的最大公约数与最小公倍数
3. 代码示例
例1: 输出一个数判断是否为素数。
int main(int argc, char* argv[])
{
int x;
printf("please input a number!\n");
scanf("%d",&x);
if(x
for(int i=2;i
printf("This is heshu\n");//合数,非素数
}
else{
printf("This is sushu\n");//素数
}
}
return 0;
}
测试用例: 97 运行结果: This is sushu
例2: 输出数字1到100之间的素数。
void main(){
for(int x=2;x |