分析
如果一个数是素数,那么它的因数只有1和他本身。所以可以先做一个判断奇偶性的if语句缩小数的范围,因为偶数都能被2整除。在奇数范围内,如果该数除以3到它本身都不会被整除,则为素数。
思路
先判断是不是偶数,再判断能不能整除3到其本身的数。
代码
#include<stdio.h>
int prime(int n){
int i,flag=1;//定义遍历参数和判定参数
if(n<=1){//1不是素数,当作特例排除,负数也不考虑
flag=0;
}
for(i=2;i<n;i++){
if(n%i==0){
flag=0;
}
}
return flag;
}//是素数flag=1,反之flag=0
int main(){
int n;
printf("请输入一个正整数:");
scanf("%d",&n);
if(prime(n)==0){
printf("%d不是素数",n);
}else{
printf("%d是素数",n);
}
return 0;
}
测试结果
测试软件为Dev C++