2024年5月4日发(作者:)
青少年软件编程(C语言)等级考试试卷(三级)
分数:100 题数:5
一、编程题(共5题,共100分)
1.
找和为K的两个元素
找和为K的两个元素
在一个长度为n(n < 1000)的整数序列中,判断是否存在某两个元素之和为k。
时间限制:1000
内存限制:65536
输入
第一行输入序列的长度n和k,用空格分开。 第二行输入序列中的n个整数,用空格分开。
输出
如果存在某两个元素的和为k,则输出yes,否则输出no。
样例输入
9 10
1 2 3 4 5 6 7 8 9
样例输出
yes
#include
using namespace std;
int main(){
int a[1000],n,k,i,j,f=0;
cin>>n>>k;
for(i=0;i { cin>>a[i]; } for(i=0;i for(j=0;j if(a[i]+a[j]==k) f=1; if(f==0) cout<<"no"; else cout<<"yes"; return 0; } 试题编号:202103-11 试题类型:编程题 标准答案: 试题难度:一般 2. Minecraft Minecraft Minecraft是一个几乎无所不能的沙盒游戏,玩家可以利用游戏内的各种资源进行创造,搭建自己的世界 在Minecraft中,基本的建筑元素是边长为1个单位的立方体,Tony想用N个这种小立方体搭 如果一张贴纸可以贴满小立方体的一个面。那么,他需要用掉多少张贴纸呢? 时间限制:1000 内存限制:65536 输入 一个整数N,表示小明所拥有的小立方体的个数。N不会超过1000。 输出 一个整数,即小明最少用掉的贴纸有多少张。 样例输入 9 样例输出 30 #include using namespace std; int main() { int i,j,k,n,s=0,min=1001*1001*1001; cin>>n; for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=i;k++) { if(i*j*k==n&&(i*j+j*k+k*i)*2<=min) min=(i*j+j*k+k*i)*2; } cout< } 试题编号:202103-12 试题类型:编程题 标准答案: 3. 踩方格 踩方格 有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设: a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上; b. 走过的格子立即塌陷无法再走第二次; c. 只能向北、东、西三个方向走; 请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。 时间限制:1000 内存限制:65536 输入 允许在方格上行走的步数n(n <= 20) 输出 计算出的方案数量 样例输入 2 样例输出 7 #include using namespace std; int main(){ int n,i,t; int a=1,b=1,c=1; cin>>n; for(i=2;i<=n;i++) { t=a+b+c; b=a+b; c=a+c; a=t; }
发布者:admin,转转请注明出处:http://www.yc00.com/news/1714765099a2511237.html
评论列表(0条)