也称为质数素数。 一个大于1的自然数,除1和它自己之外,不能被其他自然数整除的数称为素数。 最小的素数是2,那也是唯一的偶数素数。
原理: number也包括根号下的number数(2)用根号下的number之间的相应整数去除即可)。 如果nummber不能被(2)根号下的number )之间的任何整数整除,则number一定是素数
# include ' stdio.h ' # include ' math.h ' main () {int number,I,n; 请输入printf ('正整数:t '; 扫描(' % d ',number ); 输入小于或等于while(number0)/0的数字,结束循环(n=) int (sqrt ) number; //卡方if(number==1) printf ) 1既不是素数,也不是合数(n ); //注: 1既不是素数,也不是合数scanf (“% d”,number ); 继续; //退出该循环(for ) I=2; i=n; I )/2和3的平方分别为1.414和1.732,循环条件(i=n ) ) if ) number%I==0) break; 因为满足(if ) in )/I=2,2和3是) in ),所以素数是printf () ) %d是素数(n ),number ) )。 ELSEprintf('%d”不是素数(n )、number ); 请输入printf ('正整数:t '; 扫描(' % d ',number ); }运行:
2 .以下为函数格式
# include ' stdio.h ' # include ' math.h ' void find _ prime ({ int number ) ) intn,I; n=(int ) sqrt ) number; for(I=2; i=n; I ) if(number%I==0) break; (if ) in ) printf('%d为素数(n )、number ); ELSEprintf('%d”不是素数(n )、number ); }void main () {int number; 请输入大于printf('1的正整数:t '; 扫描(' % d ',number ); if(number1) find_prime ) number; elseif(number==1) printf ) ) 1既不是素数也不是合数(n ); else printf (请输入大于' 1的正整数(n ); }