求素数,运用平方根。
方法一:直接计算,但是计算量太大。
方法二:注意转化类型,求平方根用double,最后在循环里用int。include<math.h>sqrt
k=(int)sqrt((double)i);
下面展示一些 内联代码片
。
方法一
// An highlighted block
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int m,n,i,j,k,flag=0;
scanf("%d %d",&m,&n);
for(i=n;i>=m;i--)
{
flag=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
flag=1;
break;
}
}
if(flag==0&&i!=1)
printf("%d\n",i);
}
return 0;
}
// An highlighted block
//方法二
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,j,m,k,n,flag;
scanf("%d %d",&m,&n);
for(i=n;i>=m;i--)
{
k=(int)sqrt((double)i);
for(j=2;j<=k;j++)
{
if(i%j==0)
break;
}
if(j>k&&i!=1)
printf("%d\n",i);
}
return 0;
}