作业训练四
作业训练四部分习题
L.Bubu
Went low went high what matters is now.
展开
-
相等的多项式
题目描述问题描述小明现在在学习多项式的展开:就是把一个形如(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=0表示输入结束,并且不需要原创 2021-09-12 14:07:08 · 546 阅读 · 0 评论 -
最长连续递增子序列
题目描述【问题描述】给出一个由n个正整数组成的数组。您的任务是找到给定数组的递增子数组的最大长度。递增子数组由数组中若干个连续元素组成,且子数组中的每个元素严格地大于前一个元素。【输入形式】第一行为一个正整数n(1≤n≤105),表示数组元素的个数第二行给出n个正整数a1 a2…an (1≤ai≤109) ,整数之间使用空格分隔【输出形式】输出最大递增子数组的长度【样例输入】51 7 2 11 15【样例输出】3代码#include <bits/stdc++.h>原创 2021-09-12 13:58:46 · 170 阅读 · 0 评论 -
逆序数···
题目描述问题描述在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆序总数叫做这个排列的逆序数。比如:数列 1 7 3 5 4 8 9其中(7,3),(7,5),(7,4),(5,4)构成逆序,所原创 2021-09-12 13:56:46 · 724 阅读 · 0 评论 -
字频统计···
题目描述问题描述在一个只有字母’a’和’b’组成的字符串中,统计子串"ab"和"ba"出现次数的差。输入格式有多组测试数据。每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有字母’a’和’b’。N=0表示输入结束,并且不需要处理。40%的数列元素个数N 1 ≤ N≤ 100;30%的数列元素个数N 1 ≤ N≤ 1000;20%的数列元素个数N 1 ≤ N≤ 10000;10%的数列元素个数N 1 ≤ N≤ 100000;输出格式对于每组测试原创 2021-09-12 13:54:38 · 297 阅读 · 0 评论 -
7, 还是7
题目描述【问题描述】输出 7 和 7 的倍数,还有包含 7 的数字例如(17,27,37…70,71,72,73…)【输入形式】一个正整数 N。(N 不大于 30000)【输出形式】从小到大排列的不大于 N 的与 7 有关的正整数,每行一个。【样例输入】20【样例输出】71417代码#include <bits/stdc++.h>using namespace std;bool find7(int x){ stringstream ss; ss << x原创 2021-09-12 13:52:00 · 121 阅读 · 0 评论 -
最小钱币数(贪心算法)
题目描述【问题描述】阿迪有很多钱。他在银行里有n元。出于安全考虑,他想用现金取款(此处不透露原因)。钞票的面额是1,5,10,20,100元。取出全部余额后能收到的最小钞票数是多少?【输入形式】输入一个正整数n,(1≤n≤109)【输出形式】阿迪能收到的最小钞票数【样例输入1】125【样例输出1】3【样例输入2】43【样例输出2】5【样例输入3】1000000000【样例输出3】10000000代码#include <bits/stdc++.h>usin原创 2021-09-11 17:00:33 · 496 阅读 · 0 评论 -
蛇形矩阵···
题目描述【问题描述】蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形【输入形式】 正整数 N表示层数,N 不大于 100【输出形式】输出一个 N 行的蛇形矩阵,矩阵三角中同一行的数字用一个空格分开,行尾不要多余的空格。【样例输入】5【样例输出】1 3 6 10 152 5 9 144 8 137 1211代码#include <bits/stdc++.h>using namespace std;int main(){ int n; cin >&原创 2021-09-11 16:53:57 · 69 阅读 · 0 评论 -
在霍格沃兹找零钱
题目描述【问题描述】如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。【输入形式】输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Galleon是[0, 107]区间内的整数,Sickle是[0, 17)区间内的整数,Knu原创 2021-09-11 16:52:13 · 133 阅读 · 0 评论 -
最简单的计算机
题目描述【问题描述】一个名叫是 PigHeadThree 的研究组织设计了一台实验用的计算机,命名为 PpMm。PpMm只能执行简单的六种命令 A,B,C,D,E,F;只有二个内存 M1,M2;三个寄存器 R1,R2,R3。六种命令的含义如下:命令 A:将内存 M1 的数据装到寄存器 R1 中;命令 B:将内存 M2 的数据装到寄存器 R2 中;命令 C:将寄存器 R3 的数据装到内存 M1 中;命令 D:将寄存器 R3 的数据装到内存 M2 中;命令 E:将寄存器 R1 中的数据和寄存器 R原创 2021-09-11 16:49:38 · 431 阅读 · 0 评论 -
回文串···
题目描述问题描述“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。给你一个字符串,问最少在字符串尾添加多少字符,可以使得字符串变为回文串。输入格式有多组测试数据。每组测试数据第一行是一个正整数N,表示字符串长度,接下来一行是长度为N的字符串,字符串中只有小写字母。N=0表示输入结束,并且不需要处理。40%的数列元素个数N 1 ≤ N≤ 100;30%的数列元素个数N 1 ≤ N≤ 1000;20%的数列元素个数N 1 ≤ N≤ 10000;10%原创 2021-09-11 16:39:44 · 316 阅读 · 0 评论 -
恺撒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原创 2021-09-11 16:36:20 · 348 阅读 · 0 评论 -
身份证校验
题目描述【问题描述】我国国标〖GB 11643-1999〗中规定:公民身份号码是18位特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。其校验码(最后一位)计算方法和步骤为:(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, … , 16 ,先对前17位数字的权求和其中Ai:表示第i位置上的身份证号码数字值Wi:表示第i位置上的加权因子,前17位加权因子从左到右分别为W原创 2021-09-11 16:28:15 · 235 阅读 · 0 评论 -
选美比赛···
题目描述【问题描述】在选美大奖赛的半决赛现场,有n名选手(2<n<100)参加比赛。比赛结束时,要在现场按照选手的出场顺序宣布最后名次,获得相同分数的选手具有相同的名次,名次连续编号,不用考虑同名次的选手人数。如:选手数量: 7选手得分: 5,3,4,7,3,5,6宣布名次: 3,5,4,1,5,3,2请编程帮助大奖赛组委会完成半决赛的评分排名工作。【输入形式】选手数量:7选手得分:5 3 4 7 3 5 6【输出形式】选手的排名:3 5 4 1 5 3 2【样例输原创 2021-09-11 16:25:20 · 61 阅读 · 0 评论 -
相同生日···
题目描述【问题描述】在一个有n个人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日,试找出所有生日相同的学生。【输入形式】第一行为整数n,表示有n个学生,n<=200。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月(1<=m<=12)日(1<=d<=31),学号、月、日之间用一个空格分隔。【输出形式】对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之原创 2021-09-10 17:08:41 · 150 阅读 · 0 评论 -
疫情期间···
题目描述【问题描述】 正值新冠疫情期间,阿迪没法返回学校学习,他希望通过参加一些比赛来提高一下编程技能,同时做做运动。他收集了接下来的 n 天里每一天的信息,包括健身房是否开放,或者互联网上是否有程序设计竞赛。 第 i 天可以有以下四种情况之一:该天健身房不开放,互联网上也没有竞赛该天健身房不开放,但互联网上有竞赛该天健身房开放,但互联网上没有竞赛该天健身房开放,互联网上也有竞赛 每天阿迪要么休息,要么编写程序(如果该天有竞赛),要么做运动(如果该天健身房开放)。原创 2021-09-10 16:56:42 · 178 阅读 · 0 评论 -
组个最小数
题目描述【问题描述】给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。【输入形式】每个输入包含1个测试用例。每个测试用例在一行中给出多个(不超过50个)数字(0~9之间),整数间用一个空格分隔,且至少拥有1个非0的数字。【输出形式】在一行中输出能够组成的最小的数。【样例输入】2 2 0 0 0原创 2021-09-10 16:37:39 · 254 阅读 · 0 评论 -
最少钱币数
题目描述【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1个 5 元,或者 3 个 5 元,或者 1 个 5 元、1个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【输入形式】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值 M(1原创 2021-09-10 16:32:32 · 188 阅读 · 1 评论 -
数塔···
题目描述【问题描述】给定一个数塔,如下图所示。在此数塔中,从顶部出发,在每一节点可以选择走左下或右下,一直走到底层。请找出一条路径,使路径上的数值和最大。9121510682189519710416【输入形式】输入时第一行一个整数n,表示该数塔的行数,其余n行表示该塔每行的数值【输出形式】输出包含两行,第一行为最大路径上的数值之和, 第二行n个数字为从上而下最大路径数值【样例输入】5912 1510 6 82 18 9 519 7 10 4 16【样原创 2021-09-10 16:22:49 · 94 阅读 · 0 评论 -
小希的数表
题目描述【问题描述】Gardon 昨天给小希布置了一道作业,即根据一张由不超过 5000 的 N(3<=N<=100)个正整数组成的数表两两相加得到 N*(N-1)/2 个和,然后再将它们排序。例如,如果数表里含有四个数 1,3,4,9,那么正确答案是 4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她的答案计算出原来的数表么?【输入形式】包含多组数据,每组数据以一个 N 开头,接下来的一行有按照大小原创 2021-09-10 16:17:57 · 360 阅读 · 0 评论 -
日历问题···
题目描述【问题描述】在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。【输入形式】输入包含若干行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。【输出形式原创 2021-09-10 16:11:12 · 84 阅读 · 0 评论