• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

编程判断M是否素数 M由键盘输入 使for循环

发布于 2024-07-25 12:40:11

可以使用以下C语言程序来判断一个由键盘输入的数M是否是素数:

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

int main() {
    int M, i;
    scanf("%d", &M); // 从键盘读取数字M

    // 1不是素数,0和负数也不是
    if (M <= 1) {
        printf("%d 不是素数。\n", M);
    } else {
        int isPrime = 1; // 假设M是素数
        for (i = 2; i <= sqrt(M); i++) { // 只需检查到sqrt(M)
            if (M % i == 0) { // 如果M能够被i整除
                isPrime = 0; // M不是素数
                break; // 不需要继续循环
            }
        }
        if (isPrime) {
            printf("%d 是素数。\n", M);
        } else {
            printf("%d 不是素数。\n", M);
        }
    }
    return 0;
}

这个程序首先从用户那里接收一个整数M。接着,它检查这个数是否小于或等于1,这种情况下M不是素数。如果M大于1,它使用一个for循环来检查M是否有除了1和它自身以外的因数。这里使用sqrt(M)作为循环条件,因为一个合数(非素数)必定有一个不大于其平方根的因数。如果在循环过程中找到了一个因数,那么变量isPrime被设置为0,表示M不是素数。如果没有找到因数,那么M就是素数。

0 条评论

发布
问题

在线
客服