
CCF训练练习题
在ccf备考期间刷到的一些小题目,发布在这一栏。
dragon_sxl
小白
展开
-
笔记 字符串常用函数(随学习不断更新)
1 substr()是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度形式 : s.substr(pos, len)返回值: string,包含s中从pos开始的len个字符的拷贝(pos的默认值是0,len的默认值是s.size() - pos,即不加参数会默认拷贝整个s)异常 :若pos的值超过了string的大小,则substr函数会抛出一个out_of_range异常;若pos+n的值超过了string的大小,则substr会调整n的值,只拷贝到string的末尾原创 2021-07-13 18:07:14 · 125 阅读 · 0 评论 -
4 欧冠联赛(map和vector方法来做)
【问题描述】 欧洲冠军联赛常被誉为全世界最具影响力的俱乐部级赛事。在比赛的小组赛阶段,欧洲的各个足球俱乐部被分为八个小组,每个小组中四支球队。每个小组中的球队按照如下规则排序:球队会根据比赛结果获得积分。一场比赛的双方被称为主队和客队。如果其中一方进球数多于另一方,那么进球较多的一方获得3 分,另一方获得0 分。如果双方打成平手,则各得1分。球队的净胜球数是其进球数减去失球数(不考虑该球队在比赛中作为主队还是客队)。积分较高的球队排名更加靠前。如果两支球队积分相同,那么净胜球数...转载 2021-07-08 16:29:21 · 211 阅读 · 0 评论 -
4 错误的里程碑--(非常规做法)
问题描述】三月八日,小明买了台新车。但很快小明发现汽车的里程表有问题:里程表上每一位都不显示数字3和数字8,也就是说直接从数字2跳到数字4,直接从数字7跳到数字9。小明纳闷:这车到底行驶里程是多少。现在,小明向你求助:根据里程表显示的数字,给出真实的行驶里程。【输入形式】输入有多组测试数据。输入第一行正整数T,表示有多少组测试数据。后面有T行,每行一个非负整数,表示里程表显示数字,里面不含有数字3和8。该数字不超过10位。40%的测试数据组数T 10≤T≤ 102;30%的.转载 2021-07-08 22:34:13 · 236 阅读 · 0 评论 -
8.ab串(前缀和)
【问题描述】 给定一个由字符'a'和字符'b'组成的字符串,可以删除若干字符,使得剩下来的字符串满足前后段为a,中间段为b(aaa....aaabbbb.....bbbbaaa.....aaa),区段可以没有字符(ba,ab,b,aa都是合法的),求最长剩下字符串的长度。【输入形式】 输入为一行一个长度不超过5000的非空字符串,字符串仅由字符'a'和字符'b'组成。【输出形式】 输出为一个整数,表示符合要求的最长剩下字符串长度【样例输入1】abba...原创 2021-09-19 10:57:50 · 446 阅读 · 0 评论 -
9. 相等的多项式
问题描述小明现在在学习多项式的展开:就是把一个形如(x+a1) (x+a2) ... (x+an)展开成如下形式:xn+ b1xn-1+ b2xn-2+ ... + bn-1x + bn比如 (x+1)(x+2)=x2+ 3x + 2 (x+1)3= x3+3x2+3x + 1小明做了很多练习,但是不知道对错,现在请求你的帮助,判断小明的展开式是否正确。输入格式有多组测试数据。每组测试数据有三行,第一行是一个正整数N,表示多项式最高指数。N...转载 2021-09-16 10:02:52 · 811 阅读 · 0 评论 -
6.数塔(动态规划 )
【问题描述】给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。 9 12 15 10 6 8 2原创 2021-09-15 10:13:54 · 587 阅读 · 0 评论 -
21.回文串(暴力解法)
问题描述“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。给你一个字符串,问最少在字符串尾添加多少字符,可以使得字符串变为回文串。输入格式有多组测试数据。每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有小写字母。N=0表示输入结束,并且不需要处理。40%的数列元素个数N 1 ≤ N≤ 100;30%的数列元素个数N 1 ≤ N≤ 1000;20%的数列元素个数N 1 ≤ N≤ 10000;原创 2021-09-15 10:09:57 · 270 阅读 · 0 评论 -
8.最小钱币数(动态规划)
8.最少钱币数【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1个 5 元,或者 3 个 5 元,或者 1 个 5 元、1个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。 你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【输入形式】输入可以有多个测试用例。每个测试用例的第...原创 2021-09-15 09:37:45 · 1324 阅读 · 1 评论 -
11. 蛇行矩阵
【问题描述】蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形【输入形式】正整数 N表示层数,N 不大于 100【输出形式】输出一个 N 行的蛇形矩阵,矩阵三角中同一行的数字用一个空格分开,行尾不要多余的空格。【样例输入】5【样例输出】1 3 6 10 152 5 9 144 8 137 1211写在前边:总结规律,进行模拟输出详情见如下代码(AC):#include<bits/stdc++.h>using namespace std;.原创 2021-09-10 19:54:10 · 238 阅读 · 0 评论 -
21. Web导航
【问题描述】标准的Web浏览器具有在最近访问的页面中前后移动的特性。实现这些特性的一种方法是使用两个堆栈来跟踪可以通过前后移动到达的页面。在这个问题中,我们要求实现这一点。 需要支持以下命令: BACK:将当前页面压入前向堆栈的顶部;从后向堆栈的顶部弹出该页,使其成为新的当前页。如果后向堆栈为空,则该指令忽略。 FORWARD:将当前页面压入后向堆栈的顶部;从前向堆栈的顶部弹出该页,使其成为新的当前页。如果前向堆栈为空,则该指令忽略。 VI...原创 2021-09-09 17:37:34 · 149 阅读 · 0 评论 -
20. 挖掘机技术哪家强
【问题描述】为了用事实说明挖掘机技术到底哪家强,组织一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。【输入形式】输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号、及其比赛成绩(百分制),中间以空格分隔。【输出形式】在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。【样例输入】63 652 801 1002 703 403 0【样例输出】原创 2021-09-09 17:10:54 · 114 阅读 · 0 评论 -
19. 到底买不买
小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。【输入形式】每个输入原创 2021-09-09 17:10:02 · 81 阅读 · 0 评论 -
18. 写出来吧
【问题描述】读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。【输入形式】每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10的100次方。【输出形式】在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。【样例输入】1234567890987654321123456789【样例输出】yisanwu【样例说明】友情提示汉语拼音0~9:lingyi er san si wu li...原创 2021-09-09 17:09:01 · 67 阅读 · 0 评论 -
17. 字符串数字置换
【问题描述】从键盘接收用户输入的字符串,对用户输入的每个字符串的处理是:将字符串内的每一个十进制数字字符置换成下列表格中右边所对应的一个字符串(所有其他字符不变),然后将转换的结果显示在屏幕上;并分别计算每个数字的置换次数。 十进制数字字符 置换成 0 (Zero) 1 (One) 2 (Two) 3 (.原创 2021-09-09 17:07:52 · 521 阅读 · 0 评论 -
2. 导弹防御系统(动态规划)
【问题描述】某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观测到导弹依次飞来的高度,请计算这套系统最多能拦截多少导弹。拦截来袭导弹时,必须按来袭导弹袭击的时间顺序,不允许先拦截后面的导弹,再拦截前面的导弹。【输入形式】每组输入有两行,第一行,输入雷达捕捉到的敌国导弹的数量k(k<=25),第二行,输入k个正整数,表示k枚导弹的高度.原创 2021-09-09 17:05:51 · 460 阅读 · 0 评论 -
3. 魔咒词典
【问题描述】哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功能;当哈利需要某个功能但不知道该用什么魔咒时,你的程序要替他找到相应的魔咒。如果他要的魔咒不在词典中,就输出“what?”【输入形式】首先列出词典中不超过100000条不同的魔咒词条,每条格式为:[魔咒] 对应功能其中“魔原创 2021-09-09 17:04:23 · 183 阅读 · 0 评论 -
12. 多项式加法
【问题描述】一个多项式可以表示为一组数对,数对中第一个数始终为整数,且唯一,表示多项式的次数,另一数表示为对应的系数且不为0。输入两组数对,每组以0 0作为结束,实现对两个多项式的加法并按降幂输出结果数对【输入形式】每行输入一个数对,以空格为分隔符,以0 0结束【输出形式】每行输出一个数对,以空格为分隔符【样例输入】51238121550100031230115500【样例输出】3011510512320120...原创 2021-09-09 16:48:48 · 336 阅读 · 0 评论 -
7. 愚人节的礼物
【问题描述】四月一日快到了,Vayko 想了个愚人的好办法——送礼物。嘿嘿,不要想的太好,这礼物可没那么简单,Vayko 为了愚人,准备了一堆盒子,其中只有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,Vayko 想让你帮她算出愚人指数,即最少需要拆多少个盒子才能拿到礼物。【输入形式】本题目包含多组测试,请处理到文件结束。每组测试包含一个长度不大于 1000, 只包含'(',')'和'B'三种字符的字符串,代表 Vayk原创 2021-09-09 16:42:49 · 66 阅读 · 0 评论 -
9. 占座位
【问题描述】sun所在学校的教室座位每天都是可以预占的。一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所要求的这么多座位,那么他就一个座位也不要了。为了降低难度,每次分配座位按座位号从小到大查找,采用最先适配法分配座位。【输入形式】输入有多组数据。每组数据输入座位排数n,0<n<=100(座位的排列数相等,座位是按每行从左到右依次排序的, 第1行的最右边一个座位与第二行的第一个座位视为连续座位),m( 0<m<=min(100,n*n) )个人。然后输入k(0原创 2021-09-08 17:19:03 · 259 阅读 · 0 评论 -
10.Maya历法
【问题描述】在学术休假期间,M.A. Ya教授在古老的Maya历法上有一个惊人的发现。从一个古老的令人棘手的信息中,教授发现Maya文明以365天为一年,称为Haab,包含19个月。前18个月每月有20天,月份名字为:pop、no、zip、zotz、tzec、xul、yoxkin、mol、chen、yax、zac、ceh、mac、kankin、muan、pax、koyab、cumhu。每月的天数使用数字来表示,从0~19,而不是用名字。Haab的最后一个月叫做uayet,有5天,表示为0、1、2、3、4原创 2021-09-08 17:15:03 · 351 阅读 · 0 评论 -
5.最大报销额(动态规划)
【问题描述】现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。【输入形式】测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(N<=30)是发票张数。随后是 N 行输入,每行的格式为: m Type_1:price_1 Typ...原创 2021-09-07 16:43:55 · 1349 阅读 · 6 评论 -
5.最大报销额(看清题目条件!!)
【问题描述】现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。【输入形式】测试输入包含若干测试用例。每个测试用例的第1行包含两个正数 Q 和 N,其中 Q 是给定的报销额度,N(N<=30)是发票张数。随后是 N 行输入,每行的格式为: m Type_1:price_1 Typ...原创 2021-09-07 09:20:22 · 415 阅读 · 1 评论 -
11. 液晶数码管(利用map<int,string>进行模拟判断)
【问题描述】液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一个短划都称为一笔,即7有3笔,8有7笔等。对于十个数字一种排列,要做到两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减。比如7→3是允许的,7→2不允许。任意输入一组数,判断是否符合上述规则,注意,1在右边。【输入形式】每行输入一个0~9的排列,数字之间用空格分隔,以-1作为输入结束【输出形式】输出YES或NO【样例输入】410739568235162790...原创 2021-09-06 19:17:01 · 277 阅读 · 0 评论 -
4. 打牌(map+string)
问题描述】牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。规则:出牌牌型有5种[1]一张 如4 则5…9可压过[2]两张 如44 则55,66,77,…,99可压过[3]三张 如444 规则如[2][4]四张 如4444 规则如[2][5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。【输入形式】输入有多行,第一行代表手中的牌,长度不超过200个数字。接下来的每一行代表每次对...原创 2021-09-06 16:32:55 · 3588 阅读 · 0 评论 -
3.相同生日(此题有个注意点:cmp函数的正确写法)
【问题描述】在一个有n个人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日,试找出所有生日相同的学生。【输入形式】第一行为整数n,表示有n个学生,n<=200。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月(1<=m<=12)日(1<=d<=31),学号、月、日之间用一个空格分隔。【输出形式】对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之原创 2021-09-05 18:13:23 · 341 阅读 · 0 评论 -
4.20. 恺撒Caesar密码
【问题描述】Julius Caesar 生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。 密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 原原创 2021-09-05 10:22:34 · 586 阅读 · 0 评论 -
8.Engine-字符串
【问题描述】 谷歌、百度等搜索引擎已经成为了互连网中不可或缺的一部分。在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多。 本题的输入将首先给出一系列的论文,对于每篇论文首先给出标题,然后给出它被引用的次数。然后会有一系列的搜索询问,询问标题中包含特定关键词的论文有哪些。 每一个询问可能包含多个关键词,你需要找出标题包含所有关键词的论文。 “包含”必须是标题中有一个词正好是给定的关键词,不区分大小写。 对...原创 2021-07-15 17:51:02 · 214 阅读 · 1 评论 -
10.拼写检查
【问题描述】 作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。 如果字典中没有这个词,那么可以用下列操作中的一个来替换正确的单词(从字典中): 1. 从单词中删除一个字母; 2. 用一个任意字母替换单词中的一个字母; 3. 在单词中插入一个任意字母。 你的任务是编写一个程序,为每个给定的单词找到字典中所有可能的替换。【输入形式】 输入的第一部分...原创 2021-07-14 20:58:07 · 937 阅读 · 0 评论 -
19.数圈
【问题描述】以1为中心,用2,3,4, ..., n, ..., n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13【输入形式】一个整数n(1<=n<=10)【输出形式】数圈矩阵【样例输入】5【样例输出】21222324252078910196121118543121716151413感悟:这题题目简单,但实现起来还是有...原创 2021-07-13 21:59:38 · 665 阅读 · 0 评论 -
3.缺席考试的是谁
【问题描述】程序设计考试结束了,传来个不好的消息:有一个学生没参加考试!需要尽快知道缺席考试的人是谁,以便尽快做出处理。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……现在只能根据这2n-1个姓名(名册上有n个学生姓名,签到有n-1个姓名,签到姓名和名册姓名可能混在一起了),来找到缺席考试的人是谁。唯一一个有利的条件是所有参加考试的人都签了名,且只签一次,签名也都正确无误。现在任务交原创 2021-07-13 18:33:18 · 513 阅读 · 0 评论 -
3.缺席考试的是谁
【问题描述】程序设计考试结束了,传来个不好的消息:有一个学生没参加考试!需要尽快知道缺席考试的人是谁,以便尽快做出处理。糟糕的是,尽管有签到表,但由于人数较多,签到情况比较混乱:有的签到表签在一张白纸上,有的虽然签在名册上,但并不是签在自己姓名旁,更有学生签到了别的签到表上……现在只能根据这2n-1个姓名(名册上有n个学生姓名,签到有n-1个姓名,签到姓名和名册姓名可能混在一起了),来找到缺席考试的人是谁。唯一一个有利的条件是所有参加考试的人都签了名,且只签一次,签名也都正确无误。现在任务交原创 2021-07-13 18:31:19 · 393 阅读 · 2 评论 -
4.电话号码
【问题描述】Vasya有几本电话簿,记录了他的朋友们的电话号码,每一个朋友都可以有一或几个电话号码。Vasya决定整理关于朋友电话号码的信息。给定n个字符串,来自于Vasya的电话簿中的条目。每一条都以朋友的姓名开头,然后跟着当前条目中的电话号码个数,然后是本人的电话号码。有可能几个相同的电话被记录在同一个记录中。Vasya还认为,如果电话号码a是电话号码b的后缀(也就是说,号码b以a结尾),这两个号码被当作同一个电话号码,那么a被认为是无城市代码,它不应该被考虑。输出整理后Vasya朋友的转载 2021-07-13 18:24:01 · 496 阅读 · 0 评论 -
2.487-3279
每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如,你可以拨打滑铁卢大学的电话,拨打令人难忘的电话号码TUT-GLOP。 有时只有一部分号码被用来拼写一个单词,例如,你可以拨打310-gino从Gino's订购披萨。 要使电话号码令人难忘的另一种方法是以一种令人难忘的方式对数字进行分组。你可以从比萨饼小屋中订购比萨饼,方法是拨打他们的“3个10”,即号码3-10-10-10。 电话号码的标准格式是七位...原创 2021-07-13 09:26:30 · 184 阅读 · 0 评论 -
20. 锤子剪刀布
【问题描述】大家应该都会玩“锤子剪刀布”的游戏。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。【输入形式】输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。【输出形式】输出第1、2行分别给出甲、乙的胜、平、负次数,数字间以1个空格分隔。第3行给出两个字母,分别代表甲、乙获胜次原创 2021-07-12 17:34:28 · 176 阅读 · 0 评论 -
18.小丑排序
【问题描述】你在信天翁马戏团(是的,它是由一群小丑组成)从事管理工作,你刚刚写完一个程序的输出是将他们的姓名按长度为非递减的方式排列,名称列表(使每名至少只要它之前的)。然而,你的老板不喜欢这种输出方式,而是希望输出出现更对称,较短的字符串在顶部和底部,而较长的字符串在中间。他的规则是,每一对名称都是在该列表的相对的两端,并且在该组中的第一个名字总是在列表的顶部。比如在下面的第一个例子中,Bo和Pat是第一对,Jean和Kevin是第二对,等等。【输入形式】输入由1到多个字符串集合组成,最后一行原创 2021-07-12 11:00:22 · 248 阅读 · 0 评论 -
17.小A的计算器
【问题描述】 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。 现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?【输入形式】 输入的第一行包括一个整数N(1<=N<=100)。 接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的...原创 2021-07-12 09:53:09 · 294 阅读 · 0 评论 -
13. xxx定律
【问题描述】 对于一个正整数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。 请计算需要经过几步才能将n变到1,具体可见样例。【输入形式】 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1<=n<=10000)【输出形式】 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。【样例输入】320【样例输出】51...原创 2021-07-11 22:12:33 · 302 阅读 · 1 评论 -
12.绩点计算
【问题描述】学校对本科生的成绩施行绩点制(GPA)。将学生的实际考分根据不同学科的不同学分按一定的公式进行计算。规定如下:实际成绩绩点90-1004.085-893.782-843.378-813.075-772.772-742.368-712.064-671.5...原创 2021-07-11 22:10:30 · 1903 阅读 · 0 评论 -
15. 亲和数
问题描述】古希腊数学家毕达哥拉斯在自然数研究中发现,220 的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。而 284 的所有真约数为 1、2、4、71、 142,加起来恰好为 220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。你的任务就编写一个程序,判断给定的两个数是否是亲和数。【输入形式】输入若干行数据(大于0...原创 2021-07-11 22:08:03 · 525 阅读 · 0 评论 -
11.最小的K个数
【问题描述】输入n个整数,找出其中最小的k(k<=n)个不同数。例如输入4,5,1,6,1,7,3,8这8个数字,则最小的4个数字是1,3,4,5。【输入形式】每个测试案例包括2行:第一行为2个整数n,k(1<=n,k<=200000),表示数组的长度。第二行包含n个整数,表示这n个数,数组中的数的范围是[0,1000 000 000]。【输出形式】对应每个测试案例,输出最小的k个数,并按从小到大顺序打印(如果不存在k个不同的数,则按照实际数量进行输出)。【原创 2021-07-11 22:03:46 · 298 阅读 · 0 评论