📌  相关文章
📜  国际空间研究组织 | ISRO CS 2009 |问题 49(1)

📅  最后修改于: 2023-12-03 15:37:14.362000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2009 | 问题 49

本题要求编写一个函数,判断一个整数是否为一个素数。如果整数是素数,返回1,否则返回0。

/**
 * 判断一个整数是否为素数
 * @param n 待判断的整数
 * @return 若 n 是素数,返回 1,否则返回 0
 */
int is_prime(int n) {
    // 如果 n 不是正整数,直接返回 0
    if (n <= 1) {
        return 0;
    }
    // 判断从 2 到 n - 1 之间是否有任意一个数能整除 n
    for (int i = 2; i < n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    // 如果上述两个条件都不符合,说明 n 是素数
    return 1;
}

该函数的原理是通过枚举从2到n-1之间的每个数,判断是否能整除n。如果存在一个数能够整除n,则n不是素数;否则,n就是素数。需要注意的是,0和1不是素数,因此在判断n是否是素数之前,需要先判断n是否是正整数。

以上是本人针对ISRO CS 2009问题49的解答,如有不妥之处,请指教。