从入门到精通,30天带你学会C++【第八天:函数及洛谷精选题目讲解】(学不会你找我)

news2024/12/24 8:16:25

目录

Everyday English

前言

函数

洛谷 P5736 【深基7.例2】质数筛

分析题意

思路点拨

AC代码

AC截图 

结尾 


Everyday English

Winners never quit!

胜者永不言弃!

前言

这节课我们来学习函数,虽然我断更了几周,但我还是要把最优质的内容呈现给大家。

函数

函数的标准意思用《C++Primer》的话来说是这样的:函数是一个命名了的代码块,通过调用函数并执行相应的代码,而且会产生一个结果。

通俗一点的话就是:调用函数里的代码,返回一个结果

举个栗子:大家应该都看过炸爆米花吧(反正我见过两次),只见卖的人把一大袋像玉米粒,但又不完全是玉米的东西放入炸锅。然后一阵爆炸声,一个个热乎乎,金灿灿的爆米花就出炉了。那这个栗子和函数有什么关系呢?关系可大了!在这个栗子中,我们可以把炉子看成一个函数,比如就用bomp来命名吧,而炉子执行的就是加热让爆米花膨胀(可能不准确,因为我也没见过里面长啥样)。那我们首先把玉米粒放进bomp里,然后bomp开始执行它该做的事情,最后再把爆米花返回出来。实在太乱了,整理一下,帮助大家理解:

1、放入玉米粒
2、执行bomp
3、把bomp返回的东西吃掉
bomp:把传进来的玉米粒炸成爆米花,并返回爆米花

这下你是不是有点懂了,下面我们来看一下函数的定义与使用。

声明及调用函数如下:

void 函数名()//声明函数
{
    程序;
}
int main()
{
    函数名();//调用函数
}

有时候我们需要往里面传入几个参数,只需把void改成你想要的类型即可,比如改成以下代码。 

int 函数名(int 变量a,int ……)//声明函数,并传入参数
{
    程序;
    return 一个值;//返回一个值
}
int main()
{
    函数名(5,6);//调用函数,这里的5就对应函数中的int a
}

注意:函数里的变量与别的函数里的变量可以重名!

那函数有什么作用呢?第一个作用就是让你的程序看起来更容易理解。第二个作用能让你的代码变得简洁许多

洛谷 P5736 【深基7.例2】质数筛

话不多说,我们来看例题:

题目网址:【深基7.例2】质数筛 - 洛谷

分析题意

这题简单来说,就是给我们一堆数字,然后如果是质数就输出,否则不输出 。

思路点拨

首先我们得知道质数的定义是什么:

那我们怎么判断一个数有没有因数呢?

我们可以使用for循环从2开始一直循环到数字本身-1。如果这个数对i取余正好等于0,说明这个数是i的倍数,即它有因数i,不是质数(立即终止函数并返回假)。那我们还能不能再优化一下呢?仔细想想,因为因数是成对出现的,我们其实只要循环到根号这个数就OK了。

再结合一下我们今天学习的知识,把判断是否为质数的程序写成一个函数,这样就ferfact了!

AC代码

#include<bits/stdc++.h>
using namespace std;
bool isprime(int n) //声明函数
{
    if(n<2) return 0;//n小于2肯定不是质数
    for(int i=2;i<=sqrt(n);i++) //循环判断是否存在因数
    {
        if(n%i==0) return 0; 
    }
    return 1;
}
int main()
{
    int n,x;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>x;
        if(isprime(x)) cout<<x<<" "; //调用函数
    }
    return 0;
}

AC截图 

结尾 

今天是10月22日,提前祝所有程序员节日快乐!

如果没有你们就没有我们现在的5G时代,如果没有你们就没有我们现在的繁荣昌盛

俗话说得好:哪里有什么岁月静好,只不过是有人替你负重前行!”

在这金风送爽的日子里,我衷心祝愿天下所有的程序员工作顺利,身体健康,世界因你们而美

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1120335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三十六、【进阶】show profiles分析

1、profiles &#xff08;1&#xff09;详情 可以帮助清楚的展现&#xff0c;每一条SQL语句的执行耗时&#xff0c;以及时间都耗费到哪里去了 &#xff08;2&#xff09;基础语句 2、查看是否支持profiles mysql> select have_profiling; ------------------ | have_prof…

【LeetCode力扣】234 快慢指针 | 反转链表 | 还原链表

目录 1、题目介绍 2、解题思路 2.1、暴力破解法 2.2、快慢指针反转链表 1、题目介绍 原题链接&#xff1a; 234. 回文链表 - 力扣&#xff08;LeetCode&#xff09; 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1]输出&#xff1a;true 示例 2&#xff1a; 输入&am…

自然语言处理---Transformer机制详解之ELMo模型介绍

1 ELMo简介 ELMo是2018年3月由华盛顿大学提出的一种预训练模型. ELMo的全称是Embeddings from Language Models.ELMo模型的提出源于论文<< Deep Contextualized Word Representations >>.ELMo模型提出的动机源于研究人员认为一个好的预训练语言模型应该能够包含丰…

42904-2023 金属和合金的腐蚀 海水管路动水腐蚀试验

1 范围 本文件规定了在天然海水或人工海水中控制流速、温度模拟管路动水腐蚀试验方法。 本文件适用于板状试样、管状试样及管件等在天然海水或人工海水中进行的管路动水腐蚀试验。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中…

在pytorch中对于张量维度的理解

原文参考链接&#xff1a; https://blog.csdn.net/qq_36930921/article/details/121670945. https://zhuanlan.zhihu.com/p/356951418 张量的计算&#xff1a;https://zhuanlan.zhihu.com/p/140260245 学习过程中对知识的补充学习&#xff0c;谨防原文失效&#xff0c;请大家支…

MySQL——练习

MySQL 一、练习要求二、练习过程 一、练习要求 创建表并插入数据&#xff1a; 字段名数据类型主键外键非空唯一自增idINT是否是是否nameVARCHAR(50)否否是否否glassVARCHAR(50)否否是否否 sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 21、创建一个可以统计…

探究物联网技术的核心知识点:传感器、嵌入式系统和数据分析

文章目录 &#x1f31f; 物联网技术&#x1f34a; 传感器&#x1f34a; 嵌入式系统&#x1f34a; 数据分析&#x1f34a; 总结 &#x1f4d5;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约…

vue2 mixins混入

1.mixins混入 在vue中提供了一种复用性的操作&#xff0c;所混入的对象包含任意组件的选项&#xff08;data|computed&#xff0c;生命周期|watch&#xff0c;methods&#xff09; 2.mixins使用基本规则&#xff08;选项合并冲突&#xff09; data | computed&#xff1a;数据…

Dotnet工具箱:开源、免费的纯前端工具网站,带你探索10大工具分类和73个实时在线小工具

1. 前言 大家好&#xff0c;我是沙漠尽头的狼。 Dotnet工具箱是一个纯前端的、开源和免费的工具网站&#xff0c;周末我参考了开源项目it-tools&#xff0c;对网站界面文字进行了汉化&#xff0c;并重新部署了网站。该网站共有10大工具分类&#xff0c;提供了73个实时在线小工…

Java面向对象(基础)--package和import关键字的使用

文章目录 一、package关键字的使用1. 说明2. 包的作用3. JDK中主要的包 二、import关键字的使用 一、package关键字的使用 1. 说明 package:包package用于指明该文件中定义的类、接口等结构所在的包。语法格式 举例&#xff1a;pack1\pack2\PackageTest.java package pack1.…

PCB铺铜的那些事

PCB在所有设计内容都设计完成之后&#xff0c;通常还会进行最后一步的关键步骤&#xff0c;那就是铺铜。铺铜可以将主要的地&#xff08;GND&#xff0c;SGND&#xff08;信号地&#xff09;&#xff0c;AGND&#xff08;模拟地&#xff09;&#xff09;连接在一起。 在设计软件…

自动化运维ansible(ansible-playbook)

一、ansible-playbook的构成 Inventory&#xff1a;主机列表&#xff0c;表示剧本中的任务要应用在哪些主机上; Tasks&#xff1a;具体任务&#xff0c;即调用哪些模块完成操作&#xff0c;可以配置多个任务; Variables&#xff1a;变量&#xff0c;包含内置变量和自定义变量;…

5分钟搞懂Web3架构

Web3通过区块链基础设施管理用户数据&#xff0c;重构了用户和互联网平台之间的关系&#xff0c;定义了全新的构建互联网应用的架构模式。原文: Web3 Architecture Shubham DhageUnsplash Web 1.0 只读网站&#xff0c;如Yahoo!&#xff0c; MSN&#xff0c;谷歌等。 Web 2.0 …

设计模式:代理模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

简介&#xff1a; 代理模式&#xff0c;它是一种结构型设计模式&#xff0c;它通过引入一个代理对象来控制对原始对象的访问。代理模式的主要目的是在保持原始对象完整性的同时&#xff0c;提供对原始对象的访问和控制。 代理模式包括以下三个角色&#xff1a; 抽象主题类&a…

EtherCAT主站SDO写报文抓包分析

0 工具准备 1.EtherCAT主站 2.EtherCAT从站&#xff08;本文使用步进电机驱动器&#xff09; 3.Wireshark1 抓包分析 1.1 报文总览 本文设置从站1的对象字典&#xff0c;设置对象字典主索引为0x2000&#xff0c;子索引为0x00&#xff0c;设置值为1500。主站通过发送SDO写报文…

Linux tmux使用总结

文章目录 1 tmux介绍2 tmux概念会话Sessions、窗口Windows、面板Panesstatus line中字段含义 3 Sessions会话管理新建会话断开当前会话进入之前的会话关闭会话查看所有的会话 4 tmux快捷指令系统指令窗口&#xff08;Windows&#xff09;指令面板&#xff08;Panes&#xff09;…

cec2013(python):麻雀搜索算法SSA求解CEC2013(提供完整python代码及参考文献)

一、麻雀搜索算法SSA求解cec2013 cec2013函数简介 CEC 2013 Special Session on Real-Parameter Optimization中共有28个测试函数维度可选择为10/30/50/100。 每个测试函数的详细信息如下表所示&#xff1a; 参考文献&#xff1a;[1] Liang J J , Qu B Y , Suganthan P N , …

Go并发编程之三

一、前言 前一篇讲了Go中通道的概念&#xff0c;只讲了无缓存通道&#xff0c;这一篇我们来了解一下有缓存通道以及它与无缓存通道一些区别。 二、有缓存通道 无缓存通道&#xff1a;如果通道数据没有被接收&#xff0c;发送方会被阻塞&#xff0c;相当于同步。 有缓存通道&…

Python图像处理【14】基于非线性滤波器的图像去噪

基于非线性滤波器的图像去噪 0. 前言1. min 滤波器2. max 滤波器3. mode 滤波器4. 高斯、中值、mode 和 max 滤波器对比小结系列链接 0. 前言 本节中我们将介绍诸如 max 和 min 之类的非线性滤波器&#xff0c;与中值滤波器一样&#xff0c;它们根据滑动窗口中像素的顺序统计信…

css中px、em、rem、%、vw、vh、vm、rpx 这些单位的区别

序言 px&#xff1a;像素 相对长度单位&#xff0c;相对于显示器屏幕分辨率(推荐使用) em&#xff1a;相对长度单位 基准点为父节点字体的大小&#xff0c;如果自身定义了font-size按自身来计算&#xff08;浏览器默认字体是16px&#xff09;&#xff0c;整个页面内1em不是一个…