c语言判断一个数为素数,c语言判断1000之内的素数

首页 > 经验 > 作者:YD1662024-04-03 00:29:45

例16:C语言实现输入一个大于3的整数n,判断他是否为素数(质数)。

解题思路:本题采用的算法是,让n被i除,如果number能被2~(number-1)之中的任何一个整数整除,则表示number肯定不是素数,不必再继续被后面的整数除,因此,可以提前结束循环。

源代码演示:

#include<stdio.h>//头文件 intmain()//主函数 { intnumber,i;//定义变量 printf("请随机输入一个数:");//提示语句 scanf("%d",&number);//键盘输入需要判断的数 for(i=2;i<=number-1;i )//循环从2开始,到这个数的掐前一个数为止 { if(number%i==0)//如果取余结果为0 break; } if(i<number) { printf("%d不是素数",number); } else { printf("%d是素数",number); } return0;//函数返回值为0 }

编译运行结果如下:

请随机输入一个数:56 56不是素数 -------------------------------- Process exited after4.465secondswithreturnvalue0 请按任意键继续. . .

读者需要知道什么是素数,素数一般指质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

此题的关键是看结束循环时i的值是否小于number,如果number能被2~(number-1)之间的一个整数整除,则必然是由break语句导致循环提前结束,即i并未达到number的值时,循环就终止了。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.