编辑一个C语言程序 判断数m是否为素数(只能被1和它本身整除的整数)?
发布网友
发布时间:2022-05-01 01:02
我来回答
共3个回答
热心网友
时间:2023-10-08 22:31
1、首先打开visual C++软件,按下快捷键Crtl+N新建任务,弹出窗口用鼠标左键点击文件,选择C++ source file:
2、接下来就编写主程序,素数是只能被1和自己整除的数,因此判断一个整数m是否为素数,只需被 2 ~ 根号m之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 根号m 间任一整数整除,m 必定是素数。
所以这里要先去用sqrt求q的更好,在用for循环计算每一个数:
3、程序编完后,就可以查看结果了,这里输入17,程序判断17是素数,在多输入几个数进行判断,发现程序可以完美的运行:
热心网友
时间:2023-10-08 22:31
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;
}
热心网友
时间:2023-10-08 22:31
① 代码:
#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;
}
② 运行: