编辑一个C语言程序 判断数m是否为素数(只能被1和它本身整除的整数)?

如题所述

1、首先打开visual C++软件,按下快捷键Crtl+N新建任务,弹出窗口用鼠标左键点击文件,选择C++ source file:

2、接下来就编写主程序,素数是只能被1和自己整除的数,因此判断一个整数m是否为素数,只需被 2 ~ 根号m之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 根号m 间任一整数整除,m 必定是素数。

所以这里要先去用sqrt求q的更好,在用for循环计算每一个数:

3、程序编完后,就可以查看结果了,这里输入17,程序判断17是素数,在多输入几个数进行判断,发现程序可以完美的运行:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-20
int main(){
int a=0; // 素数的个数
int num=0; // 输入的整数

printf("输入一个整数:");
scanf("%d",&num);

for(int i=2;i<num;i++){
if(num%i==0){
a++; // 素数个数加1
}
}

if(a==0){
printf("%d是素数。\n", num);
}else{
printf("%d不是素数。\n", num);
}

return 0;
}
第2个回答  2015-01-08

① 代码:

#include <stdio.h>
 
int isPrime(long n);
 
int main(int argc, char const *argv[])
{
    long num;
    scanf("%d", &num);
     
    if (isPrime(num)) printf("%d is a prime number.\n", num);
    else printf("%d is NOT a prime number.\n");
     
    return 0;
}
 
int isPrime(long n)
{
    int i;
    if (n < 2) return 0;
    if (n == 2) return 1;

    for (i = 2; i*i <= n;i++)
        if (n % i == 0)    return 0;

     return 1;
}

② 运行:

本回答被网友采纳