C语言写素数的几种方法(菜鸟级别的)

菜鸟 开始刚刚学习来的几个方法,可能有更厉害的,就是还不会难过难过难过

第一种  特备简单的;

#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的 办法   ...  不胜感激 !!!!奋斗奋斗奋斗


  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值