1029 - C语言程序设计教程(第三版)课后习题8.3
时间限制:1秒 内存限制:128兆
题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
输入
一个数
输出
如果是素数输出prime 如果不是输出not prime
样例输入
97
样例输出
prime
判断素数在于如何去判断因子个数,素数是只有两个因子的数
(因子为1和他本身,1不是素数),首先最容易想到的方法应该
是从1开始一个个遍历,看看有没有是这个数因子的数,此时,
对因子个数进行一个计次,如果遍历结束之后,因子个数为2,
那么这个数是素数,代码如下
(这个求素数的方法是最基础的方法,做到后面的时候会发现跑
程序的时间非常长,需要对程 序进行优化处理,至于如何进行优
化,等到具体的题目时再进行讨论)
#include<stdio.h>
int main()
{
int a, num;
num=0;
scanf("%d",&a);
for(int i=1;i<=a;i++)
{
if(a%i==0) //判断i是否为a的因子
num++; //对因子个数进行计次
}
if(num==2) //如果只有两个因子,则为素数
printf("prime");
else
printf("not prime");
return 0;
}