素数

素数的定义
只能被1和它本身整除的数叫素数。如2、3、5、7.
合数的定义
除了“1”和它本身以外,还能被其他数整除的数叫合数,如:4、6、8、9.

在介绍质数、合数的概念时,我们都会追加一句:“1”既不是质数也不是合数。
有人要问,“1”也只能被1 和它本身整除,为什么不能算质数呢?而且“1”算作质数后,就不用再追加这么一句,岂不是更简单吗?
这要从分解质因数谈起。比如,1001 能被哪些数整除,其实质是将1001分解质因数,由1001=7×11×13,而且只有这一种分解结果,知道1001 除了被1 和它本身整除以外,还能被7、11、13 整除。若把“1”也算作质数,那么1001 分解质因数就会出现下面一些结果:
1001=7×11×13
1001=1×7×11×13
1001=1×1×7×11×13
……
也就是说,分解式中可随便添上几个因数“1”。这样做,一方面对求1001 的因数毫无必要,另一方面分解质因质结果不唯一,又增添了不必要的麻烦。因此“1”不算作质数。

每一个整数,或者是素数,或者是素数的乘积。

编程判断一个数是否是素数

#include<stdio.h>
#include<math.h>

int main (void)
{
    int i;
    scanf("%d", &i);
    if ( isPrime( i )){
        printf("%d is prime", i );
    } else {
        printf("%d is not prime", i );
    }
    return 0;
}
int isPrime ( int i )
{
    int n;
    for ( n = 2; n <= (int)sqrt(i); n++ ){
        if ( i % n == 0 ){
            return 0;
        }
    }
    return 1;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值