全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之计数器与累加器实战题目

news/2025/1/14 0:58:36/

题目1—三个连续的自然数计算

问题描述:

若有3个连续的自然数,已知第一个自然数为100,请编写程序输出这3个自然数。

输入格式:

输出格式:

三行三个整数

输入输出样例:

输入样例

输出样例

100

101

102

问题分析:

由于是连续的自然数,所以第二个数等于第一个数加1,第三个数等于第二个数加1,题目中已知第一个自然数为100,可以使用计数来实现,即"n=n+1;(或n++;++n;)";这条语句执行一次相当于求解自然数100的下一个相邻自然数,题目中要求总共输出三个自然数,因此这条语句共执行两次。

具体程序如下:

#include<bits/stdc++.h>
using namespace std;
int main() {int n=100;//定义第1个自然数100cout<<n<<endl;//输出第1个自然数++n;//计算第2个自然数cout<<n<<endl;//输出第2个自然数n++;//计算第3个自然数 cout<<n<<endl;//输出第3个自然数 return 0;
}

题目2—数细胞

问题描述:

在生物课上,小明学习了细胞分裂,知道1个细胞第1次分裂由1个分裂成2个,第2次分裂由2个分裂成4个,第3次分裂由4个分裂成8个……现在小明发现基础细胞有n个,那么分裂5次后一共有多少个细胞呢?小明想尝试用新学习的编程知识去求解。

输入格式:

一行一个整数n(n<=20),表示基础细胞数。

输出格式:

一行一个整数,表示分裂5次后所有的细胞数。

输入输出样例:

输入样例

输出样例

5

160

问题分析:

细胞分类的规则可以用一个等比数列来描述,1个细胞分裂成2个,所以分裂1次就是在基础细胞的基础上累乘2,即"n=n*2;"这条语句执行1次相当于细胞分裂1次,题目中求解分裂5次后的细胞数目,所以此语句执行5次,输出结果即可。

具体程序如下:


#include<bits/stdc++.h>
using namespace std;
int main() {int n;//定义基础细胞数 cin>>n;//输入基础细胞数 n=n*2;//第1次分裂 n=n*2;//第2次分裂 n=n*2;//第3次分裂 n=n*2;//第4次分裂 n=n*2;//第5次分裂 cout<<n<<endl;return 0;
}

题目3—计算表达式的值

给定a的值,求表达式a+a*a+a*a*a+a*a*a*a+a*a*a*a*a的值。

输入格式:

一行一个整数,表示a的值(-100<=a<=100)。

输出格式:

一行一个整数,表示表达式的值。

输入输出样例:

输入样例1

输出样例1

2

62

输入样例2

输出样例2

4

1364

问题分析:

观察表达式的特征,每个加数项式是等比数列,可以用累乘得到每个加数项,即"ans=ans*a;"其中ans的初始值为1。再考虑求和的问题,就是逐步将累乘结果进行累加,即"sum=sum+ans;"其中sum的初始值为0。每一次累乘得到一个加数项后进行累加求和,最后得到的sum值就是表达式的值。此外,还需要考虑a的取值范围,取a的极限值100进行计算之后会超出int类型所能表示的数据范围,所以在求解本题时需要用long long类型。

具体程序如下:


#include<bits/stdc++.h>
using namespace std;
int main() {int a;//定义a cin>>a;//输入a的值 long long ans=1,sum=0;//定义加数项ans并初始化为1,定义表达式值sum并初始化为0 ans=ans*a;//第一个加数项a sum=sum+ans;//累加a的一次方 ans=ans*a;//第二个加数项a的二次方 sum=sum+ans;//累加a的二次方ans=ans*a;//第三个加数项a的三次方sum=sum+ans;//累加a的三次方ans=ans*a;//第四个加数项a的四次方sum=sum+ans;//累加a的四次方ans=ans*a;//第五个加数项a的五次方sum=sum+ans;//累加a的五次方cout<<sum<<endl;//输出表达式的值 return 0;
}

http://www.ppmy.cn/news/1555001.html

相关文章

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件&#xff1a;Tongweb7049M4已在http通道里配置了https&#xff08;如何配置https可以参考这个帖子&#xff1a;东方通TongWEB添加Https证书&#xff0c;开启SSL&#xff09; 遇到客户在配置了https后&#xff0c;扫描漏洞提示&#xff1a; 有关SSL/TLS 服务器瞬时 Dif…

电子电气架构 --- 智能座舱域控制器及座舱芯片(SoC)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

隐私保护新动态:Facebook近期政策更新的核心要点

随着全球用户对隐私保护意识的增强&#xff0c;Facebook作为全球最具影响力的社交媒体平台之一&#xff0c;也加快了在隐私政策上的革新步伐。这次的隐私政策更新不仅在透明度上有了长足进步&#xff0c;也更全面地保护了用户的数据安全。接下来&#xff0c;我们将多维度地解析…

人工智能:自然语言处理

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能和计算机科学的一个重要领域&#xff0c;旨在使计算机能够理解、分析和生成人类语言。NLP结合了计算机科学、语言学和机器学习&#xff0c;涉及多个方面的研究与应用。 自然语言处理的主要任务…

调度系统:基于 Couchbase 构建数仓 Temporal、Apache Airflow 和 DonpinScheduler 的详细比较

从你的主要需求来看&#xff08;基于 Couchbase 的类 SQL 语法完成数仓构建、数据 ETL 和数据分析汇总&#xff09;&#xff0c;Apache Airflow 更适合作为调度工具。以下是对 Temporal、Apache Airflow 和 DonpinScheduler 的详细比较&#xff0c;以及根据你的需求选择的理由。…

(补)算法刷题Day17:BM40 重建二叉树

题目链接 思路&#xff1a; 转换为子问题&#xff0c;使用递归。 前序确定当前子树的根节点&#xff0c;中序则从根节点一分为二&#xff0c;根节点左边为左子树&#xff0c;根节点右边为右子树。问题来了&#xff1a;前序怎么一分为二&#xff1f; 1s… 2s… 3s… 中左右&…

EasyExcel设置表头上面的那种大标题(前端传递来的大标题)

1、首先得先引用easyExcel的版本依赖&#xff0c;我那 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version> </dependency> 2、然后得弄直接的实体类&#xff0c;&…

2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)

首先到官网上下载安装包&#xff1a;http://www.mysql.com 点击下载&#xff0c;拉到最下面&#xff0c;点击社区版下载 windows用户点击下面适用于windows的安装程序 点击下载&#xff0c;网络条件好可以点第一个&#xff0c;怕下着下着断了点第二个离线下载 双击下载好的安装…