第一题:组队(5分)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
作为篮球队教练,你需要从以下名单中选出 1 号位至 5号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5号位时的评分如下表所示。请你计算首发阵容 1号位至 5号位的评分之和最大可能是多少?
答案490
后来去想这个代码该怎么写,发现不太会。我目前的进度刚学习c++类&对象,还没有开始学习算法。之后再补充。
第二题:年号字串(5分)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对应 28,AZ 对应 52,LQ 对应 329。请问 2019 对应的字符串是什么?
还是手算,大概用了五六分钟。感觉这题挺水的,代码还在思考。
2019 - 1 = 2018,2018 % 26 = 17→ S
2018 / 26 = 77
77 - 1 = 76,76 % 26 = 24 → Y
76 / 26 = 2
2 - 1 = 1,1 % 26 = 1 → B
2 / 26 = 0(结束)
答案 BYQ
第三题:数列求值(10分)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
给定数列 1,1,1,3,5,9,17,⋯,从第 4项开始,每项都是前 3 项的和。求第 20190324项的最后 4 位数字。
#include <iostream>
using namespace std;
int main()
{
int a=1;
int b=1;
int c=1;
int t;
for (int i=4;i<=20190324;i++){
t=(a+b+c)%10000;
a=b;
b=c;
c=t;
}
cout<<c<<endl;
return 0;
}
答案4659
第四题:数的分解(10分)
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
把 2019分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。
感觉if的条件太麻烦了,但还没想到更简单的方法。
#include <iostream>
using namespace std;
int main()
{
int z=0;
for(int i=1;i<2017;i++){
for(int j=i+1;j<2017;j++){
int k=2019-i-j;
if (k<=j) continue;
int a=i%10 ,b=j%10, c=k%10;
int d=(i/10)%10,e=(j/10)%10,f=(k/10)%10;
int g=(i/100)%10,h=(j/100)%10,l=(k/100)%10;
int m=i/1000,n=j/1000,o=k/1000;
if(a==2 || b==2 || c==2 || d==2 || e==2 || f==2 || g==2 || h==2 || l==2 || m==2 || n==2 || o==2 || a==4 || b==4 || c==4 || d==4 || e==4 || f==4 || g==4 || h==4 || l==4 || m==4 || n==4 || o==4){
z=z;
}
else z++;
}
}
cout<<z<<endl;
return 0;
}
答案 40785
第五题没思路,第六题作为第一道大题更简单一点。
第六题:特别数的和(15分)
题目描述
小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?
输入格式:输入一行包含两个整数 𝑛
输出格式:输出一行,包含一个整数,表示满足条件的数的和
#include <iostream>
using namespace std;
int test (int a){
while(a){
int t=a%10;
a=a/10;
if (t==2||t==0||t==1||t==9)
return 1;
}
return 0;
}
int main()
{
int n;
cin>>n;
int sum=0;
for(int i=1;i<=n;i++){
if(test(i)) sum=sum+i;
}
cout<<sum<<endl;
return 0;
}