打印
[STM32F1]

来看下这个代码写的如何?

[复制链接]
228|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingy|  楼主 | 2022-7-4 20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
打印100以内的质数

使用特权

评论回复
沙发
dingy|  楼主 | 2022-7-4 20:32 | 只看该作者
#include <stdlib.h>
int main()
{
  int number;
  int divisor;
/*
** One and two are easy.
*/
printf( "1\n2\n" );
/*
** No other even numbers are prime; look at the remaining odd ones.
*/
for( number = 3; number <= 100; number = number + 2 )
{
  for( divisor = 3; divisor < number; divisor = divisor + 2 )
  {
    if( number % divisor == 0 )
    break;
  }
/*
** If the loop above stopped because the divisor got too big,
** we’ve got a prime.
*/
if( divisor >= number )
printf( "%d\n", number );
}
}

使用特权

评论回复
板凳
dingy|  楼主 | 2022-7-4 20:34 | 只看该作者
有没有比这个更好的写法?

使用特权

评论回复
地板
zwll| | 2022-7-4 20:37 | 只看该作者
感觉很简练啊

使用特权

评论回复
5
heweibig| | 2022-7-4 20:39 | 只看该作者
有的,要是我写就用排除法,2*3=6就排除6...

使用特权

评论回复
6
shimx| | 2022-7-4 20:41 | 只看该作者
最简单的计算了,这个还需要算法吗?整个高级点的

使用特权

评论回复
评论
knk 2022-7-5 00:43 回复TA
定义一个常量数组,把质数写到数组里面,直接打印数组内容 
7
dingy|  楼主 | 2022-7-4 20:43 | 只看该作者
哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

745

主题

10920

帖子

6

粉丝