题号 1 2 3 4 5 6 7 8 分数 100 100 100 100 100 100 100 220
第一题:四数最大值
题目链接:题目
题目:
给定四个整数 a, b, c, 和 d,请你编写一个程序来找出其中的最大值,并将其输出。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
稍微简单一点的方法,就是直接用max函数嵌套。
AC程序:
第二题:数学函数
题目链接:题目
题目:
小鱼最近在学习数学函数,他想编写一个程序来实现三种常见的数学操作:向上取整(ceil)、向下取整(floor) 和 四舍五入(round)。小明希望能够通过输入一个操作指令和一个实数,输出对应的结果。请你帮他编写这样一个程序。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其实可以直接用c++代码库里的ceil、floor、round。
AC程序:
第三题:支付失败
题目链接:题目
题目:
你有一个总金额 x,并且需要购买 n 个商品。每个商品的价格为 a
i 。你的任务是判断你是否能够用手头的金额 x 支付所有商品的费用。
如果总金额 x 足以支付所有商品的总费用,输出 YES;否则输出 NO。
如果支付失败,不买则可以省下一大波的钱。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道題不用开数组,直接相加然后进行比较。
AC程序:
第四题:任务-宝石
题目链接:题目
题目:
挑战者小鱼发现了一项独特的任务:他要将珍贵的宝石赠送给 n 个冒险者。为了让每个冒险者感到特别,宝石的数量必须互不相同。你能帮小鱼计算一下,最少需要多少颗宝石,才能确保每个冒险者都能拿到不同数量的宝石吗?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道题就是求1到n的总和,可以用递归,但速度比较快的是等差数列。
下面用的是递归:
AC程序:
第五题:艾莉亚的任务
题目链接:题目
题目:
在一个奇幻的王国里,有一位年轻的魔法学徒名叫艾莉亚。她的导师是一位经验丰富的魔法师,他常常给艾莉亚一些挑战,以帮助她提高魔法技巧。
一天,导师交给艾莉亚一个特别的任务——计算一种特殊的魔法序列的力量累积。这种序列的形式是由多个子序列构成,每个子序列都由一系列连续的数字组成。这些数字的和将会形成一种强大的魔法能量,而艾莉亚的任务就是计算出所有子序列的总和,才能成功施展这项魔法。
任务描述如下:
输入一个正整数 n,艾莉亚需要计算并输出形如:
1+(1+2)+(1+2+3)+(1+2+3+4)+⋯+(1+2+3+4+5+⋯+n) 的累加和。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道题可以是循环+递归,跟上一道题差不多。
AC程序:
第六题:最大硬盘
题目链接:题目
题目:
小鱼同学最近在选硬盘,在数码店中有有各式各样的牌子,奇怪的是每一个产品标签用的存储单位还不整齐。小鱼想找出最大的那块硬盘,你能帮助他吗?
传统计算机存储:在计算机科学中,存储单位通常是基于二进制的。1 KB 传统上被认为是 1024 B(因为 1024 = 2
10
),类似地,1 MB 是 1024 KB,1 GB 是 1024 MB,以此类推。这种使用方式在内存(RAM)等领域中非常普遍。
硬盘制造商的使用:然而,硬盘制造商通常使用十进制单位来标记容量。即,1 KB 被定义为 1000 B,1 MB 为 1000 KB,1 GB 为 1000 MB,依此类推。这是因为十进制数看起来更大,因此对消费者更有吸引力。例如,一个标为 "500 GB" 的硬盘实际容量可能比消费者预期的要小,因为操作系统通常会使用二进制来计算容量。
硬盘制造商使用十进制单位是为了使标注的容量看起来更大,但计算机系统中实际使用的是二进制单位
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道题就是一个进制转换,但是出题者挖了一个坑,进率不是1024而是1000。
这里使用的是结构体,同一单位为GB后比较。
AC代码:
第七题:找到ACGO
题目链接:题目
题目:
在一个神秘的世界中,流传着一个古老的传说:只有能够识别出暗号「acgo」的人,才能解锁传说中的力量,获得进入神秘殿堂的资格。你,作为一名勇敢的挑战者,被选中来证明你的智慧与勇气。
守护者们给你了一串由小写字母组成的字符串。你的任务是从中找出暗号「acgo」的完整序列,并且这些字符的顺序不能改变。只有在满足这一条件下,你才能被视为通过测试,获得殿堂的钥匙。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道题的办法是非常多的,下面是一个比较简单的方法。
AC程序:
第八题:丢失的数据
题目链接:题目
题目:
在未来的某个世界,数据主宰了所有行业的运作。你作为一名数据分析师,负责处理和分析大量的关键数据。然而,在一次数据传输中,某个数据集出现了问题。本应包含 1 到 k 的所有整数的数据集,经过传输后部分数据丢失了。
现在,紧急情况发生了。你收到了一组包含 n 个整数的序列,这些数字可能包含了部分 1 到 k 之间的数字,但并不完整。你必须通过分析现有数据,找出 1 到 k 之间缺失的数字,并计算这些缺失数字的总和,以帮助系统恢复正常运作。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这道题,设置的数据比较大。
下面的方法就是,求出1~k的和,进行排序后,去重后,减去就可以了。
注意!这道题给的数组的数字有可能不在1~k之间,需要判断再减
AC程序: