菜鸟 开始刚刚学习来的几个方法,可能有更厉害的,就是还不会
第一种 特备简单的;
#include <stdio.h>
int main ()
{
int i, j, k;
int count = 0;
for(i = 100;i < 201; i++)
{
k = 1;
for(j = 2; j < i; j++)
{
if( i%j==0)
{
k=0;
break;
}
}
if(k)
{
count++;
printf("%d ",i);
}
}
printf("\n count = %d", count );
system("pause");
return 0;
}
第二种 速度加快但是也不是最优化的;
#include<stdio.h>
int main()
{
int i, j, k;
int count = 0;
for(i = 100; i < 201; i++)
{
k = 1;
for( j = 2; j < i/2; j++)
{
if(i % j == 0)
{
k = 0;
break;
}
}
if( k )
{
count++;
printf(" %d ",i);
}
}
printf("\ncount = %d ",count);
system("pause");
return 0;
}
第三种 速度加快1倍
#include <stdio.h>
#include<math.h>
int main()
{
int i, j;
int count = 0;
for(i = 100;i < 201; i++)
{
for(j = 2;j < sqrt(i); j++)
{
if(i % j == 0)
{
break;
}
}
if( j>sqrt(i) )
{
count++;
printf(" %d ",i);
}
}
printf("\ncount = %d",count);
system("pause");
return 0;
}
第四种 速度最快吧
#include<stdio.h>
#include<math.h>
int main()
{
int i, j;
int count = 0;
for( i = 100;i < 201; i++)
{
if(i % 2 != 0)
{
for( j = 3; j < sqrt(i); j+=2)
{
if(i%j==0)
{
break;
}
}
if( j > sqrt(i))
{
count++;
printf(" %d ",i);
}
}
}
printf("\ncount = %d",count);
system("pause");
return 0;
}
毕竟现在还是只菜鸟 会的东西不多 只能是这么一些......
还请大神说些NB的 办法 ... 不胜感激 !!!!