前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《看聊天记录都学不会C语言?太菜了吧》(22)(必懂!题解 1-100 内素数)素数原来是质数!为什么你不早说!

《看聊天记录都学不会C语言?太菜了吧》(22)(必懂!题解 1-100 内素数)素数原来是质数!为什么你不早说!

作者头像
1_bit
发布2022-01-06 09:37:55
3910
发布2022-01-06 09:37:55
举报
文章被收录于专栏:我的知识小屋

本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。

若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)


目录

《看聊天记录都学不会C语言?太菜了吧》(22)(必懂!题解 1-100 内素数)素数原来是质数!为什么你不早说!——(必懂!题解)求素数

《看聊天记录都学不会C语言?太菜了吧》(21)(必懂!题解冒泡排序)在现实生活中,打擂台比赛争名次竟用的是冒泡排序?——(必懂!题解)冒泡必懂

《看聊天记录都学不会C语言?太菜了吧》(20)(必懂!题解指定天数)我能知道2000年后的这个月一共有几天——(必懂!题解)我能知道2000年后的这个月一共有几天

《看聊天记录都学不会C语言?太菜了吧》(19)巩固开始,数字1、2、3、4能够组成多少个 3 位数的不同的排列——巩固1

《看聊天记录都学不会C语言?太菜了吧》(18)2分钟搞结构体——结构体

看聊天记录都学不会C语言?太菜了吧》(17)5分钟搞懂指针与多重指针——指针与多重指针

《看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声…——生命空间、命名规则

《看聊天记录都学不会C语言?太菜了吧》(15)你学了一节课的函数我5分钟搞定了,还很熟——自定义函数传参、返回值

《看聊天记录都学不会C语言?太菜了吧》(14)这么神奇?我写了20行代码竟然一行就可以搞定?——自定义函数

《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋——for 循环与循环嵌套 九九乘法表

《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀…——循环

《看聊天记录都学不会C语言?太菜了吧》(11)2分钟领悟数组——数组

《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了——逻辑与运算符

《看聊天记录都学不会C语言?太菜了吧》(9)老公饼真的有老公送?——字符数组

《看聊天记录都学不会C语言?太菜了吧》(8)牛郎和织女竟有一个孩子?——多条件if

《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁——if逻辑判断

《看聊天记录都学不会C语言?太菜了吧(6)以前跟我说编程很难的给我站出来——浮点数及变量运算

《看聊天记录都学不会C语言?太菜了吧(5)打了一把游戏我学会了一个编程知识?——变量输出及占位符

《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了——变量

《看聊天记录都学不会C语言?太菜了吧(3)代码都在谈恋爱难道你不知道?——头文件及标点

《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?——Devc使用及HelloWorld

《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议


作者简介

作者名:1_bit

简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。

博客地址:https://i1bit.blog.csdn.net


🐰小C:小媛,上一节内容有点懵吧,我们这一节来做个简单的题目。

👸小媛:???我可是程序媛!怎么会懵,不过先来个简单的题目让我开开胃吧。 😎

🐰小C:唔,那我们就来一个开胃菜爽一下吧。

👸小媛:赶紧,我饿了。

🐰小C:那就做一个计算 0 到 100 以内的素数计算吧。

👸小媛:啥?你再说一遍。 😩

🐰小C:做一个计算 1 到 100 以内的素数计算。

👸小媛:什么是素数? 😩

🐰小C:就是一个正整数,只能够被 1 和本身整除,就叫做素数。

👸小媛:你是不是故意的? 😩

🐰小C:你说啥?故意啥?

👸小媛:这不就是质数吗?

🐰小C:是呀,怎么了?

👸小媛:我…嗯,没事,你继续。 😂

🐰小C:那你懂怎么做吗?

👸小媛:不懂,请教我,谢谢。

🐰小C:不客气。那我们先来看看怎么样判断一个数是不是素数吧。

👸小媛:你能不能用“质数”这个词代替素数?

🐰小C:也行。我先问你,如果我要判断一个数为 100,那么除什么数最大能够整除?

👸小媛:50 呀。

🐰小C:为什么?

👸小媛:因为超过一半肯定不是整除咯,那就是1.几了。

🐰小C:你明白的话基本上就快要知道素数怎么做了。例如我们想知道 99 是不是素数很简单。

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int n=99,get=0,i;
 
    for(i=2; i<=n/2; ++i){
        if(n%i==0){
            get=1;
            break;
        }
    }
 
    if (get==0){
    	printf("%d 是素数",n);
	}else{
		printf("%d 不是素数",n);
	}
}

👸小媛:喂喂喂!你不讲武德啊,怎么突然上那么多代码?

🐰小C:其实你都会的,你不信你看看?

👸小媛:我不会,你跟我说。

🐰小C:其实很简单,我首先创建了一个变量 n 和一个变量 get,n 用来存储你要判断的数,get 为一个标记,记录是否找到其它的除数,懂吧?

👸小媛:我不傻。 😂

🐰小C:然后接下来使用一个 for 循环,因为质数要大于 1 的正整数才行,所以 i 从2开始;由于这个 i 是作为除数,所以不能大于判断的数的一半,则条件为 i<=n/2;

👸小媛:理解。

🐰小C:继续看 for 循环里面的判断。使用 if 语句判断 n%i==0,此时只要被整除没有余数,则代表肯定有其它的数除判断的数能够整除,这时直接给 get 赋值为 1,那么这个判断质数的数肯定不为质数。

👸小媛:若为 0 则是没找到自身和 1 之外的数能够整除判断的数,此时就是质数? 😅

🐰小C:懂了吧?

👸小媛:原来如此。所以如果是找到 1-100 以内的质数那就是直接在外面 for 循环一个循环变量 i ,然后拿去判断就可以了对吧?这样就可以找到 1-100 之间的质数了?

🐰小C:是的,你写出来吧、

👸小媛: 知道怎么写就简单了,代码在下面。

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int get=0,i,j;
    
 	for(j=2; j<=100; j++){
 		get=0;
	    
		for(i=2; i<=j/2; i++){
	        if(j%i==0){
	            get=1;
	            break;
	        }
	    }
	    
	    if (get==0){
	    	printf("%d 是素数\n",j);
		}
    }
}

🐰小C:解释一下吧。

👸小媛: 很简单啊,直接用之前的代码改一下就好了。直接在外面加个循环,小于 100 即可,只要把外循环的循环变量 j 当作除数就好了。内层循环的 i 只需要每次循环小于 j 的一半就可以了,因为 j 是被除数;但是在这里要注意每次内循环开始前必须要将 get 变量重新置零,因为每次循环完都要重新记录,最后在内循环后加一个判断就可以了,如果 get 还为 0 肯定那个数是质数,就直接输出就可以了。 😂

🐰小C:不错,这个开胃菜够简单吧?

👸小媛:是挺简单的,哈哈哈。

🐰小C:歇一下,等下大招就来了。

👸小媛:那就明天再来吧,我缓缓,哈哈哈。 😎

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 作者简介
    相关产品与服务
    云直播
    云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档