c语言判断素数(for循环判断素数)
大家好,今天小编来为大家解答c语言判断素数这个问题,for循环判断素数很多人还不知道,现在让我们一起来看看吧!
用C语言如何判断素数
按照如下步骤即可用C语言判断素数:
1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。
2、然后在弹出的新建对话框中点击C++Source File。
3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。
4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入一个数字。
5、然后用for函数和if函数判断是否是素数。
6、点击确定后即可成功创建刚刚新建的程序,随机输入一个数字即可验证一下刚刚创建的C语言。
C语言判断素数
所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数
另外判断方法还可以简化。m不必呗2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果m不能被2~√m间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。(原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。例如16能被2,4,8整除,16=2*8,2小于4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可)
#include
#include
void main()
{
int m,i,k;
printf("请输入一个整数:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>k)
printf("%d是素数。\n",m);
else
printf("%d不是素数。\n",m);
}
c语言如何判断素数
素数又称质数,所谓素数是指除了 1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16的任一整数整除。判断一个整数m是否是素数,只需把 m被 2~ m-1之间的每一个整数去除,如果都不能被整除,那么 m就是一个素数。
首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。
扩展资料:
首先,本文英文字母都表示整数,上半部B》3N》W,下半部B》W》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。
命题 1对于B=36N+1形数而言。
若不定方程(3N)^2+N-(B-1)/36=W^2有整数解,
则 6(3N-W)+1是小因子数;6(3N+W)+1是大因子数。
若不定方程(3N)^2-N-(B-1)/36=W^2有整数解,
则 6(3N-W)-1是小因子数;6(3N+W)-1是大因子数。
两式都无解,是素数。
参考资料来源:百度百科-质数
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!