蓝桥杯备考

目录

[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;
 }
相关推荐
LCG元8 小时前
【面试问题】JIT 是什么?和 JVM 什么关系?
面试·职场和发展
不想当程序猿_10 小时前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
m0_7482455212 小时前
吉利前端、AI面试
前端·面试·职场和发展
kkflash316 小时前
提升专业素养的实用指南
学习·职场和发展
sinat_3070215317 小时前
大数据政策文件——职业道德(山东省大数据职称考试)
大数据·职场和发展
Sudo_Wang20 小时前
力扣150题
算法·leetcode·职场和发展
逝灮21 小时前
【蓝桥杯——物联网设计与开发】拓展模块3 - 温度传感器模块
驱动开发·stm32·单片机·嵌入式硬件·物联网·蓝桥杯·温度传感器
清弦墨客1 天前
【数据结构与算法】深度优先搜索:树与图的路径探寻之道
数据结构·python·算法·蓝桥杯·深度优先
呆呆的猫1 天前
【LeetCode】9、回文数
算法·leetcode·职场和发展
测试老哥1 天前
Python自动化测试图片比对算法
自动化测试·软件测试·python·测试工具·程序人生·职场和发展·测试用例