1、c语言实现:
方法1:
#include <stdio.h>
#include <math.h>
main(){
int num; // 输入的整数
int i; // 循环次数
int k; // m 的平方根
printf("输入一个整数:");
scanf("%d",&num);
// 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型
k=sqrt(num);
for(i=2;i<=k;i++)
if(num%i==0)
break;
// 如果完成所有循环,那么m为素数
// 注意最后一次循环,会执行 i++,此时 i=k+1,所以有i>k
if(i>k)
printf("%d是素数 \n",num);
else
printf("%d不是素数 \n",num);
return 0;
}
测试结果:
方法2:
#include <stdio.h>
#include <math.h>
main(){
int num; // 输入的整数
int i;
printf("输入一个整数:");
scanf("%d",&num);
if(num==1)//1不是素数
printf("您输入的数据有误");
else{
for(i=2;i<=num;i++)
if(num%i==0)
break;
if(i==num)
printf("%d是素数 \n",num);
else
printf("%d不是素数 \n",num);
}
return 0;
}
测试结果:
2、Shell编程:
测试结果: