CSDN竞赛第41期题解

CSDN竞赛第41期题解

非编程题部分

第一题

算盘是一种古代中国发明的计算机,原因在于人们在操作算盘时可以充分利用人脑的计算能力。

错的。


第二题

以下选项中,哪一项不属于计算机的本质特征?

C. 受电力驱动。

电力不是本质特征。

第三题

在这里插入图片描述

布莱兹·帕斯卡


第四题

在这里插入图片描述

答案是TRUE


编程题

第一题

由于人类长了十根手指,所以人类的计数最常用的数制就是十进制。 但是,计算机中最常用的进制是二进制,因为二进制可以用比较少的物理状态来表示。 可是二进制只有0和1两个数字,很容易写得很长,所以也经常使用八进制或十六进制。
  八进制的数使用0到7八个数字来表示,逢八进一。 十六进制的数除了0到9这十个数字以外,还使用A到F这六个字母(A到F分别代表十进制的10到15)一共十六个符号来表示,逢十六进一。 请把输入的数字转换为十进制。 如果数字中只有0和1,那么就认为是二进制。 如果数字中只有0到7,那么就认为是八进制。 如果数字中有不止0到7,那么就认为是十六进制。 如果出现了0到9、A到F(不区分大小写)之外的字母,那么就请输出“NaN”

首先特判是几进制,然后用进制转换计算即可。


第二题

现代人做两个数的加减法运算,是非常简单的事情:只要在计算器上按出第一个数,再按一下“+”或“-”键,再按出第二个数,最后按一下“=”键,就能够看到运算的结果了。但古代人没有计算器,还好古代中国有算盘这种工具。 CSDN的zjg55543同学在博客里给出了珠算加减法用到的口诀表:珠心算口诀表_zjg555543的博客-CSDN博客。

请你尝试把根据输入数的加减运算生成相应的珠算指令序列,每个指令对应于一句或若干句口诀,并该口诀之前输出其所应用的位置和该口诀所涉及的拨珠次数。

个位记为位置0、十位记为位置1、百位记为位置2,以此类推。同样地,十分位记为位置-1,百分位记为位置-2,以此类推。

有的口诀只需要拨动一次上珠或下珠,如“一上一”和“五下五”等。有的则需要拨动一次上珠和一次下珠,如“六上六”、“九下九”、“三下五去二”和“八退一还五去三”(“进一”或“退一”是从相邻高位进一或退一,并不需要在该位执行这一口诀时实际拨珠)等。

最后,输出总拨珠次数。


大模拟,可以使用递归进行计算。未能全对。

猜你喜欢

转载自blog.csdn.net/weixin_45750972/article/details/129973459