200以内的质数(200以内的质数合数奇数偶数)

如何判断素数?

200以内的质数(200以内的质数合数奇数偶数)

题目要求:输出100-200的素数

首先我们要知道什么是素数(质数),以防有人忘记(比如刚学开始学c的我就忘记了)

素数(质数)只能被1和它自己整除

7只能被1和7整除,是素数

9能被3整除,不是素数

方法1—试除法

#include<stdio.h>

int main()
{
    int i=0;
    int count=0;
    for(i=100;i<=200;i++)
    {
        int j=0;
        for(j=2;j<i;j++)
        {
             if(i%j==0)//i可以整除j,i不是素数
             {
                 break;
             }
        }
        if(j==i)//i只能整除它自己,是素数
        {
            count++;
            printf("%d ",i);
        }
    }
    printf("\ncount=%d\n",count);//计算100-200之间有几个素数
    return 0;
}
200以内的质数(200以内的质数合数奇数偶数)

这个代码比较死,只是输出了100到200之间的素数,完成了题目的要求

我们可以把它改造成输入一个数字,判断是否是素数的形式

代码改造1-1

用户输入一个数字

代码判断是否为素数

是,输出“是素数”以及用户输入的值

不是,输出“不是素数”

#include<stdio.h>

int main()
{
    int i=0;
    int j=0;
    scanf("%d",&i);
    for(j=2;j<i;j++)
    {
      if(i%j==0)
        {
            printf("不是素数\n");
            break;
      }
  }
    if(j==i)
    {
        printf("是素数,i=%d\n",i);
    }      
}

结果如下:

200以内的质数(200以内的质数合数奇数偶数)

上面的这串代码能很好地完成我们的需求,但它还有优化的空间

方法2—开平方法

方法1中的for循环为j<i

如果数字很大的话,要循环非常多次才能出现j==i的情况

这就拖慢了我们程序运行的速度

这里我们引入一个概念

若i=a*b

a和b中至少有一个数字 <= 开平方i

如16=2×8=4×4

其中2<4

这样就能得到一个结论:

在根号i之前一定有一个数字n是非素数的除数

如果找不到这个数字n,说明该数字为质数

利用开平方法,我们可以将需要查找的数字范围缩小很多

以下是用该方法完成开头题目要求的代码示例:

#include<stdio.h>

int main()
{
  int i=0;
  for(i=101;i<=200;i+=2)
  {
    int j=0;
    for(j=2;j<=sqrt(i);j++)
    {
      if(i%j==0)
      {
        break;
             }
    }
    if(j>sqrt(i))
    {
      printf("%d ",i);
    }
  }
  return 0;
}
200以内的质数(200以内的质数合数奇数偶数)

将这个代码改造成1-1那种形式也不难,自己试试吧!

感谢你看到最后!希望能够帮到你~

———————————–

为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!

编程学习书籍分享:

200以内的质数(200以内的质数合数奇数偶数)

编程学习视频分享:

200以内的质数(200以内的质数合数奇数偶数)

200以内的质数(200以内的质数合数奇数偶数)

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/baike/256755.html

(0)
鸟叔鸟叔
上一篇 2023年 3月 7日
下一篇 2023年 3月 7日

相关推荐

  • 汕尾旅游必去十大景点(汕尾红海湾旅游区)

    距离广东广州约260公里的汕尾,与揭阳、惠州、河源相邻,下辖汕尾城区、海丰县、陆河县,代管陆丰市,是一个有着“粤东旅游黄金海岸”的海滨城市。这里有美丽的大海、丰富的历史与独特的地方风情。 想来汕尾旅游?收藏这篇攻略就够了! 一、到汕尾旅游不可错过的景点 1、金町湾七里海滩广东汕尾金町湾七里海滩被人称为海上的“香格里拉”,也有人称它为广东的“马尔代夫”。由度假…

    2023年 4月 9日
  • 两页怎么调整成一页(word上下两页合并成一页打印)

      Word这款最常用的办公软件,相信很多小伙伴在日常使用电脑的过程当中,或多或少的都会用到它的。不管是写毕业论文,还是写季度报告,我们都会用到它的。   而当我们所编辑的Word文档中的内容比较多时,为了能够让查阅文档的人可以更好地浏览文档,或者是让文档打印出来更加的方便,那么此时很多小伙伴都会将Word文档中的两页何为一页。但是很多小伙伴并不会这个技巧,…

    2023年 3月 27日
  • 和平精英怎么切换账号(和平精英怎么切换账号登录)

    和平精英大家应该多多少少都有了解,今天我给大家带来的是和平精英入门基础信息讲解,从键位到枪法、身法,讲解的十分详细,各位玩家来看看吧。 键位图 在我看来,这游戏玩家大概分为白板,萌新,会玩,人,高手,大佬,神仙几个等级。 白板,除了欢乐斗.地.主可能没玩过其他任何手游,看到很多朋友玩,自己也玩试试。刚接触吃鸡类游戏,走路也不会转弯只会前后左右,毒圈信号值什么…

    2023年 3月 21日
  • 佛山十大凶宅楼盘(佛山五大凶宅)

    在佛山顺德均安,有这么一个房,空置了十年,业主住也不是,因被叫“凶宅”,卖也卖不掉。业主相当无奈,他家不是真的“凶宅”这一切都是邻居“泼脏水”。另外一户人,也因为这邻居,直接搬走了。 十年前,罗女士一家在顺德均安尚墅君庭,购买了8座的201房,当初看中这里,是因为阳台外还连着公共平台,采光足。 但直到现在,房子还没有装修。他们就说了,并非不想住,而是住不了—…

    2022年 12月 12日
  • 武汉十大著名景点(武汉市的景点)

    千年古城武汉,是一个具有历史底蕴的城市 独特的人文风情,蕴含的历史余韵让人流连 到武汉游玩,一定不要错过武汉著名的历史文化古迹,到江城武汉尽览古迹精华,感受这里独具特色的人文气息。 武汉历史文化古迹有晴川阁、古德寺、归元禅寺、黄鹤楼、古琴台、武汉长春观、柏泉古镇、宝通禅寺、洪山宝塔、武汉起义门等。 1、晴川阁晴川阁,为楚天第一名楼,临江而立,幽静闲适。这里满…

    2023年 6月 10日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信