L1-028 判断素数
思路
比较简单,就是看输入的数能否整除输入数的平方根
源码
#include<stdio.h>
#include<math.h>
int main()
{
int k;
scanf("%d",&k);
while (k--)
{
int i,n,f=1;
scanf("%d",&n);
if(n==1) printf("No\n");
else
{
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0) f=0;
}
if(f==1) printf("Yes\n");
else printf("No\n");
}
}
return 0;
}
拓展(求素数的方法)
1.判断能否被2-n-1整除
for (i = 2; i < n ; i++)
{
if (n%i == 0)
break;
}
if(i==n)
printf("素数");
2.判断n能否被2-sqrt(n)整除
scanf("%d", &n);
k = sqrt(n);
for (i = 2; i <= k;i++)
{
if (n%i == 0) break;
}
if (n <=1 ) printf("This is not a prime\n");
else if (i <= k) printf("This is not a prime.\n");
else printf("This is a prime\n");
}