答案均为自己计算,如有错误请指教
文章目录
问题1:12.5Mb
题目
题解
答案
问题2:最多边数
题目
题解
解1: 定义
解2:找规律
答案
问题3:单词重排
题目
题解
答案
问题4:括号序列
题目
题解
答案
问题5:反倍数
题目
题解
答案
问题6:凯撒加密
题目
题解
答案
问题1:12.5Mb
题目
【问题描述】
在计算机存储中,12.5MB是多少字节?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解
12.5*1024(转换成KB)*1024(转换成B)=13,107,200
答案
13107200
问题2:最多边数
题目
【问题描述】
一个包含有2019个结点的有向图,最多包含多少条边?(不允许有重边)
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解
解1: 定义
有向的定义可以知道,每个点到其他n-1个点共n*(n-1)个。
解2:找规律
通过画图可知前5列,然后找规律,每两列之间差逐渐增加2,
a1=0, a2=2, a3=6, a4=12, a5=20
a2-a1=2, a3-a2=4, a4-a3=6…an-a(n-1)=2(n-1)
等号左边加起来,右边加起来,则:
an-a1=2+4+6+…+2(n-1)
于是 an=n(n-1)
答案
4074342
问题3:单词重排
题目
【问题描述】
将LANQIAO中的字母重新排列,可以得到不同的单词,如LANQIAO、AAILNOQ等,注意这7个字母都要被用上,单词不一定有具体的英文意义。
请问,总共能排列如多少个不同的单词。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解
7的字母的全排列,7个都要用上,
即: 7! = 7 * 6 * 5 * 4 * 3 * 2 * 1 = 5040。
由于A有2个,所以需要再除以A22,
即5040/2 = 2520即答案为2520
答案
2520
问题4:括号序列
题目
【问题描述】
由1对括号,可以组成一种合法括号序列:()。
由2对括号,可以组成两种合法括号序列:()()、(())。
由4对括号组成的合法括号序列一共有多少种?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
题解
罗列就完了:
深度为1的序列有一种为:()()()()
深度为2的有7种:(())()()、()(())()、()()(())、(()()())、(()())()、()(()())、(())(())
深度为3的有5种:((()))()、()((()))、((())())、(()(()))、((()()))
深度为4的有1种:(((()))),所以答案为14。
答案
14
问题5:反倍数
题目
【问题描述】
给定三个整数 a, b, c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c 的整数倍,则这个数称为反倍数。
请问在 1 至 n 中有多少个反倍数。
【输入格式】
输入的第一行包含一个整数 n。
第二行包含三个整数 a, b, c,相邻两个数之间用一个空格分隔。
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
30
2 3 6
【样例输出】
10
【样例说明】
以下这些数满足要求:1, 5, 7, 11, 13, 17, 19, 23, 25, 29。
【评测用例规模与约定】
对于 40% 的评测用例,1 <= n <= 10000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000,1 <= a <= n,1 <= b <= n,1 <= c <= n。
题解
没什么可说的直接暴力算就完了。
答案
#include
int main()
{
int n, a, b, c;
int i, num=0;
scanf("%d", &n);
scanf("%d%d%d", &a, &b, &c);
for (i = 1; i <= n; i++) {
if (i%a != 0 && i%b != 0 && i%c != 0) {
num++;
}
}
printf("%d", num);
return 0;
}
问题6:凯撒加密
题目
【问题描述】
给定一个单词,请使用凯撒密码将这个单词加密。
凯撒密码是一种替换加密的技术,单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为d,b变为e,…,w变为z,x变为a,y变为b,z变为c。
例如,lanqiao会变成odqtldr。
【输入格式】
输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】
输出一行,表示加密后的密文。
【样例输入】
lanqiao
【样例输出】
odqtldr
【评测用例规模与约定】
对于所有评测用例,单词中的字母个数不超过100。
题解
依旧没什么可说的…
答案
#include
int main()
{
char ch[100];
scanf("%s", ch);
int i = 0;
while (ch[i]) {
if (ch[i] == 'x') {
ch[i] = 'a';
}
else if (ch[i] == 'y') {
ch[i] = 'b';
}
else if (ch[i] == 'z'){
ch[i] = 'c';
}
else{
ch[i] = char(int(ch[i]) + 3);
}
i++;
}
printf("%s", ch);
return 0;
}
后续题目慢慢更新