蓝桥杯备考

目录

[P8823 [传智杯 #3 初赛] 期末考试成绩](#3 初赛] 期末考试成绩)

题目描述

输入格式

输出格式

输入输出样例

说明/提示

代码

[P8828 [传智杯 #3 练习赛] 直角三角形](#3 练习赛] 直角三角形)

题目描述

输入格式

输出格式

输入输出样例

代码

[P8833 [传智杯 #3 决赛] 课程](#3 决赛] 课程)

题目背景

题目描述

输入格式

输出格式

输入输出样例

样例解释

代码

[P8840 [传智杯 #4 初赛] 报告赋分](#4 初赛] 报告赋分)

题目描述

输入格式

输出格式

输入输出样例

代码

[B3913 [语言月赛 202401] 装满葡萄汁的酒杯](#B3913 [语言月赛 202401] 装满葡萄汁的酒杯)

题目描述

输入格式

输出格式

输入输出样例

样例解释 #1

数据规模与约定

代码


P8823 [传智杯 #3 初赛] 期末考试成绩

题目描述

传智专修学院的 Java 程序设计课程的评价体系是这样的:

首先,所有学生会有一个卷面得分,这个得分一定是一个[0,100] 之间的整数。

如果卷面得分在 90 分及以上,那么他的 GPA(加权平均成绩) 就是满分 4.04.0。

如果卷面得分在 60∼89 之间,那么他每比 9090 分少 11 分,那么他的分数就会在 4.04.0 的基础上减少 0.1。

如果卷面得分不到 60分,那么善良的老师会给他照顾。具体来说,如果他的分数为 x,那么老师会把他的分数调整为 *10 (向下取整) ,再计算他的 GPA。

如果经过调整该学生的得分依旧没满 60 ,那么他就挂科了,GPA 就是 0 分。

现在给你一个人的期末卷面得分,请你输出他的最终 GPA

输入格式

一行一个整数 x,表示该人的期末得分。

输出格式

一个小数点后只有一位的浮点数,表示该同学获得的GPA。

请注意,如果有.0 请保留。

输入输出样例

输入 #1复制99

输出 #1复制4.0

输入 #2复制88

输出 #2复制3.8

输入 #3复制12

输出 #3复制0.0

说明/提示

对于 20%的数据,满足 90≤x≤100;

对于额外 30% 的数据,满足 60≤≤x≤100;

对于 100% 的数据,满足 0≤x≤100。

代码

cpp 复制代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int num,num2;
	double gpa;
	cin>>num;
	if(num>=90)gpa=4;
	if(num>=60&&num<90)
	{
		gpa=4-(90-num)*0.1;
	}
	if(num<60)
	{
		num2=pow(num,0.5)*10;
		if(num2<60)gpa=0.0;
		else
		gpa=4-(90-num2)*0.1;
	}
	printf("%0.1lf",gpa);
	return 0;
 } 

P8828 [传智杯 #3 练习赛] 直角三角形

题目描述

一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且a,b,c 都是正整数。

现在我们已经知道了斜边长度 c,请问这个直角三角形的两个直角边的长度是什么?

输入格式

输入一个整数 c(1≤c≤1.41×104)。

输出格式

输出两个整数 a,b 表示答案。保证有整数解。如果有多个可能的答案,请确保 a 尽可能的小。

输入输出样例

输入 #15

输出 #13 4

代码

cs 复制代码
 #include<iostream>
 #include<cmath>
 using namespace std;
 int main()
 {
 	int a,c,zhengshu=0;
 	double b=0,xiaoshu=0;
 	cin>>c;
 	for(a=1;a<c;a++)
 	{
 		zhengshu=sqrt(c*c-a*a);
 		b=sqrt(c*c-a*a);
 		xiaoshu=b-zhengshu;
 		if(xiaoshu==0)break;
 		
 		
	}
	cout<<a<<' '<<b<<endl;
	return 0;
 }

P8833 [传智杯 #3 决赛] 课程

题目背景

disangan233 喜欢数数,于是他想让你帮他回答一个问题。

题目描述

传智专修学院提供 A,B 两个课程,分别有n,m 个学生报名。报名 A 的学生的编号为,报名 B 的学生的编号为 ​,求有多少个学生同时报名了两个课程。

对于所有数据n,m,,≤20,保证每个课程报名的学生编号不会重复。

输入格式

输入共 3行。

第 1 行输入 2个正整数 n,m。

第 2 行输入 n 个正整数 ​...​,表示报名课程 A 的学生编号。

第 3 行输入m 个正整数 ​...​,表示报名课程 B 的学生编号。

学生编号不保证从小到大排序。

输出格式

输出共 1 行 1个整数,表示答案。

输入输出样例

输入 #1

复制代码
5 5
1 2 3 4 5
1 3 4 5 6

输出 #14

样例解释

我们发现,1,3,4,5这 4名学生同时报名了两门课程,所以答案是 4。

代码

cpp 复制代码
 #include<iostream>
 #include<vector>
 using namespace std;
 int main() 
 {
 	int n,m,num=0;
 	cin>>n>>m;
 	vector <int>arrA(n);
 	vector <int>arrB(m);
 	for(int i=0;i<n;i++)cin>>arrA[i];
 	for(int i=0;i<m;i++)
 	{
 		cin>>arrB[i];
 		for(int j=0;j<n;j++)
 		{
 			if(arrB[i]==arrA[j])num++;
		}
	}
	cout<<num<<endl;
	return 0;	
 }

P8840 [传智杯 #4 初赛] 报告赋分

题目描述

花栗鼠科技大学的计算机组成原理实验最终的结课考核方式是提交一份报告。

然而作为任课老师,萝老师不希望大家过于内卷,所以指定了如下规定:

每份报告有一个卷面基础分 a。

在此基础上:

  • 若是报告字数低于 16 页,则扣 10 分,如果分数低于 0 分了,则记作 0 分。

  • 若是报告字数超过 20 页,每超过 1 页扣 1 分 ,直到分数扣到 0 分为止。

现在你知道了一份报告的卷面基础分 a 和它的页数 p ,请你计算这份报告的最终得分。我们保证 1≤a≤100,1≤p≤50.

输入格式

本题有多组数据。

第一行一个整数 T(1≤T≤1000) ,表示数据组数。

接下来 T 行,每行两个整数a,p,意义如题所示。

输出格式

共 T 行,每行一个整数,表示该次询问的数据最终的得分。

输入输出样例

输入 #1

复制代码
2
70 17
80 10

输出 #1

复制代码
70
70

代码

cpp 复制代码
#include<iostream>
 #include<vector>
 using namespace std;
 int main()
 {
 	int T;
 	cin>>T;
 	int arr[T][2]={0};
	vector <int>sore(T);
	 
 	for(int i=0;i<T;i++)
 	{
 		cin>>arr[i][0]>>arr[i][1];
	}
	
	for(int i=0;i<T;i++)
	{
		if(arr[i][1]<16)
			sore[i]=arr[i][0]-10;
		else if(arr[i][1]>=16&&arr[i][1]<=20)
			sore[i]=arr[i][0];
		else 
			sore[i]=arr[i][0]-arr[i][1]+20;
	}
	for(int i=0;i<T;i++)
	{
		if(sore[i]<0)sore[i]=0;
		cout<<sore[i]<<endl;
	}
	
	return 0;
 }

B3913 [语言月赛 202401] 装满葡萄汁的酒杯

题目描述

小 H 有五个酒杯可供选择,它们的容量分别为 100mL、150mL、300mL、400mL和 1000mL。

现在,小 H 想要在这五个酒杯中选择一个来喝葡萄汁。小 H 打算喝 a mL(a≤1000) 的葡萄汁。请问,小 H 至少需要选择多大容量的酒杯,才能装下 a mL 的葡萄汁(葡萄汁不能溢出)。

输入格式

输入一行共一个整数 a,表示小 H 打算喝的葡萄汁的量(以 mL 为单位)。

输出格式

输出一行共一个整数,表示小 H 至少需要选择的酒杯容量(以 mL 为单位),以确保能够装下 a mL 的葡萄汁。

输入输出样例

输入 #150

输出 #1100

输入 #2112

输出 #2150

输入 #3300

输出 #3300

样例解释 #1

如果要装 50 mL 的葡萄汁,那么用 100 mL 的酒杯就可以了。

数据规模与约定

对于 100% 的数据,满足 1≤a≤1000。

代码

cpp 复制代码
 #include<iostream>
 #include<vector>
 using namespace std;
 int main()
 {
 	vector <int>capacity(5);
 	capacity[0]=100;capacity[1]=150;capacity[2]=300;
	capacity[3]=400;capacity[4]=1000;
	int a=0;
	cin>>a;
	if(capacity[0]>=a)cout<<capacity[0]<<endl;
	for(int i=1;i<5;i++)
	{
		if(capacity[i-1]<a&&capacity[i]>=a)
		{
			cout<<capacity[i];
			break;
		}
	}
	return 0;
 }
相关推荐
阑梦清川1 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
劲夫学编程2 小时前
leetcode:杨辉三角
算法·leetcode·职场和发展
钱钱钱端12 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
测试199813 小时前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
mingzhi6114 小时前
渗透测试-快速获取目标中存在的漏洞(小白版)
安全·web安全·面试·职场和发展
华东同舟求职18 小时前
舜宇光学科技入职测评:北森商业推理40分钟28题真题解析、网盘资料下载、答题技巧
经验分享·科技·职场和发展·求职招聘
山里灵活的狗_19 小时前
蓝桥杯练习笔记(二十-日期问题)
笔记·职场和发展·蓝桥杯
超栈19 小时前
蓝桥杯-网络安全比赛题目-遗漏的压缩包
前端·网络·sql·安全·web安全·职场和发展·蓝桥杯
生命几十年3万天1 天前
百度的面试
百度·面试·职场和发展
OT.Ter1 天前
【力扣打卡系列】单调栈
算法·leetcode·职场和发展·go·单调栈