非素数总能在 小于自己开方的数中找到 除的尽数 : 列如16 开方是4. 可除2,4 . 再如20 开方在4和5间 但可除2 2就小于4.
此处用sqrt()是为了优化算法,加快CUP处理程序速度。
/*初学C语言,有不足还请指正*/
#include<stdio.h>
#include"math.h"
#include"conio.h"
int main() // 判断素数
{
while (1)
{
int i = 2;
int m = 0;
double k = 0;
printf("__________________________________________________\nPlease input a number:");
scanf_s("%d", &m);
k = sqrt(m);
for (i = 2; i <= k; i++)//非素数总能在 小于自己开方的数中找到 除的尽数 : 列如16 开方是4. 可除2,4 . 再如20 开方在4和5间 但可除2 2就小于4.
{
if (m % i == 0)
{
break;
}
}
if (i>k)//如15开方在3.4之间那么i会循环到4才break跳出后比K大一点点从而完成判断
{
printf("%d is a prime number\n__________________________________________________\n", m);
}
if(i<=k)
{
printf("%d not is a prime number\n__________________________________________________\n", m);
}
}
}