1029 - C语言程序设计教程(第三版)课后习题8.3

1029 - C语言程序设计教程(第三版)课后习题8.3

时间限制:1秒 内存限制:128兆

题目描述

写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。

输入

一个数

输出

如果是素数输出prime 如果不是输出not prime

样例输入

97

样例输出

prime

判断素数在于如何去判断因子个数,素数是只有两个因子的数

(因子为1和他本身,1不是素数),首先最容易想到的方法应该

是从1开始一个个遍历,看看有没有是这个数因子的数,此时,

对因子个数进行一个计次,如果遍历结束之后,因子个数为2,

那么这个数是素数,代码如下

(这个求素数的方法是最基础的方法,做到后面的时候会发现跑

程序的时间非常长,需要对程 序进行优化处理,至于如何进行优

化,等到具体的题目时再进行讨论) 

#include

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;

} 

 

你可能感兴趣的:(oj题解)