2023年NOC大赛_Python软件创意编程赛项_复赛_小高组真题(忽略分值)答案及解析.pdfVIP

2023年NOC大赛_Python软件创意编程赛项_复赛_小高组真题(忽略分值)答案及解析.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、实操题

1、计算年终奖

时间限制:1s

内存限制:128MB

(注:input()括号中不允许添加任何提示语)

某公司的员工年终奖计算规则如下,假设该公司的年度利润为M(单位:万元),

若M≤10,则员工年终奖为其本人当月工资的3倍;若10M≤20,则员工年终奖为其

本人当月工资的5倍;若M20,则员工年终奖为其本人当月工资的8倍。

请补全下面程序,使程序实现如下功能:

(1)程序运行后,依次输入两个正整数M、m,表示公司的年度利润和员工当月

工资;

(2)根据规则计算并输出员工的年终奖金额。

M=int(input())

m=int(input())

ifM=10:

______

___________

m*=5

____

______

print(m)#输出员工年终奖金额

参考答案:```pythonifM=10:m*=3elifM10andM=20:m*=5else:m*=8```

解析:【喵呜刷题小喵解析】:

根据题目描述,公司的年度利润M和员工当月工资m是已知的。根据M的不同范围

,员工年终奖的计算规则也不同。

首先,如果M小于等于10,员工年终奖为其当月工资的3倍,所以需要将m乘以3。

其次,如果M大于10且小于等于20,员工年终奖为其当月工资的5倍,所以需要将

m乘以5。

最后,如果M大于20,员工年终奖为其当月工资的8倍,所以需要将m乘以8。

因此,在程序中,我们可以使用if-elif-

else语句来判断M的范围,并根据不同的范围对m进行相应的乘法运算。最后,使

用print函数输出员工年终奖金额。

2、最大公约数

时间限制:1s

内存限制:128MB

(注:input()括号中不允许添加任何提示语)

欧几里得算法又称辗转相除法,定义是:两个整数的最大公约数等于其中较小的那

个数和两数相除余数的最大公约数。因此只要对除数和余数反复做除法运算,当余

数为0时,当前算式的除数就是最初两个数的最大公约数。

例如:

48除以18,余数为12;

接下来,18除以12,余数为6;

接下来,12除以6,余数为0。

所以,6就是48和18的最大公约数。

请补全下面程序,使程序实现如下功能:

(1)程序运行后,依次输入两个正整数a、b;

(2)使用欧几里得算法计算a和b的最大公约数,并输出结果。

a=int(input())

b=int(input())

defgcd(a,b):

ifab:

a,b=b,a

while______:

r=_______

a=b

b=r

return_______

print(________)#输出a和b的最大公约数

参考答案:```pythona=int(input())b=int(input())defgcd(a,b):ifab:a,b=b,awhile

b!=0:r=a%ba=bb=rreturnaprint(gcd(a,b))#输出a和b的最大公约数```

解析:【喵呜刷题小喵解析】:

首先,我们根据题目描述,理解欧几里得算法的核心思想:两个整数的最大公约数

等于其中较小的那个数和两数相除余数的最大公约数。在Python程序中,我们需要

依次输入两个正整数a和b,使用欧几里得算法计算它们的最大公约数。

程序中已经给出了部分代码,我们需要补全其中的空白部分。

1.

在`while`循环中,我们需要判断`b`是否不等于0,因为当`b`等于0时,算法结束,

当前的`a`值就是`a`和`b`的最大公约数。

2.在循环体中,我们需要计算`a`除以`b`的余数,并将这个余数赋值给`r`。

3.然后,我们将`b`的值赋给`a`,将`r`的值赋给`b`,继续下一次循环。

4.最后,当循环结束时,返回`a`的值,即`a`和`b`的最大公约数。

根据以上解析,我们可以补全程序中的空白部分,并输出最终的代码。

3、最少纸币数

时间限制:1s

内存限制:128MB

(注:input()括号中不允许添加任何提示语)

小新使用现金购买一些商品,商品总价值w(1≤w≤10000),他有100元、50元、1

0元、5元和1元的纸币,每种纸币张数足够多。

请编写一段程序,计算并输出要买到这些商品,最少需要的纸币张数。

输入描述:

您可能关注的文档

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档