蓝桥杯备考2

简介: 蓝桥杯备考2

P8839 [传智杯 #4 初赛] 组原成绩

题目描述

花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的计算机组成原理快要出分了。你现在需要计算你的组原成绩如何构成。

具体来说,组原成绩分为三部分,分别是平时出勤 t ,作业 ℎ和考试 e 。总成绩 w 由如下公式计算:

w=t×20%+h×30%+e×50%

其中我们保证 0≤h,e,t≤100

现在你知道了你的组原考试的t,h,e ,你希望计算你的总成绩。

由于教务系统的特殊性,最终成绩只能是整数,采取 直接去掉小数部分 的办法。

输入格式

一行三个整数,表示 t,h,e

输出格式

一行一个整数,为 w

输入输出样例

输入 #1  50 100 100

输出 #1   90

代码

#include<iostream>
using namespace std;
int main()
{
  int t,h,e;
  cin>>t>>h>>e;
  int w;
  w=t*0.2+h*0.3+e*0.5;
  cout<<w<<endl;
  return 0;
 }

P8841 [传智杯 #4 初赛] 竞争得分

题目描述

为了鼓励大家写出更好的作业,花栗鼠科技大学(Hualishu University of Science and Technology, HUST)的组原实验采用了竞争得分的方式。

具体来说,假设有 n 个人提交了作业,并且其中原始得分最低的人记作  ,原始得分最高的人记作 ,第 i 个人的原始得分为 ,那么第 i 个人的得分就是:

由于成绩系统的问题,最终录入的成绩只能是整数,采用直接去掉小数部分的方法

输入格式

第一行一个整数 n 表示人数。(1≤n≤1000)

第二行共n 个整数,为序列 a ,其中 表示第 i 个人的原始作业得分。(1≤ ≤1000)

输出格式

一行,共 n 个整数,表示经过更新后每个人的得分。

输入输出样例

输入 #1

3

1 2 3

输出 #1

0 50 100

代码

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  int n,amax=0,amin=100000000;
  cin>>n;
  vector <int>arr(n);
  for(int i=0;i<n;i++)
   {
    cin>>arr[i];
   }
   for(int i=0;i<n;i++)
   {
    amax=(amax>arr[i])?amax:arr[i];
    amin=(amin<arr[i])?amin:arr[i];
   }
  int t=amax-amin;
  for(int i=0;i<n;i++)
  {
    arr[i]=((arr[i]-amin)*100)/t;
    if(arr[i]<0)arr[i]=0;
   }
  for(int i=0;i<n;i++)cout<<arr[i]<<' ';
  return 0;
}

P8822 [传智杯 #3 初赛] 课程报名

题目描述

传智播客推出了一款课程,并进行了一次促销活动。具体来说就是,课程的初始定价为 v 元;每报名 m 个学员,课程的定价就要提升 a 元。由于课程能够容纳的学生有限,因此报名到 n 人的时候就停止报名。

现在老师想知道,当课程停止报名时,一共可以获得多少学费呢?

输入格式

一行四个使用空格隔开的整数,分别为 n,v,m,a。

输出格式

一行一个整数,表示答案。

输入输出样例

输入 #1  5 1 1 1

输出 #1  15

说明/提示

样例解释

每卖出 1个课程,价格就会提高 1元,所以总共获得 1+2+3+4+5=15 元。

数据规模与约定

对于 50% 的数据,满足 1≤n,m,v,a≤10;

对于额外 20%的数据,满足 a=0;

对于 100% 的数据,满足 0≤n,m,v,a≤1000。

然而,由于本次比赛是 ACM 赛制,因此您必须通过 100%的数据才能够获得本题的得分,后题同。

代码

#include<iostream>
#include<vector>
using namespace std;
int main()
{
  int n,v,m,a,num=0;
  cin>>n>>v>>m>>a;
  vector <int>arr(n);
  
  for(int i=0,t=1;i<n;i++,t++)
  {
    arr[i]=v;
    if(t%m==0)v+=a;
  } 
  
  for(int i=0;i<n;i++)
  {
    num+=arr[i];
  }
  cout<<num;
  return 0;
}

P8829 [传智杯 #3 练习赛] 单位转换

题目描述

我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。

提示,1 GB = MB = KB = B。

输入格式

输入一个字符串,由一个 0 到 1023 之间的整数,一个单位名称(大写字母),一个等于号和问号,以及第二个单位名称。

单位只有可能是 GB,MB,KB,B 之间的一个。

输出格式

输出一个数字,精确到小数点后 6 位。

输入输出样例

输入 #1  128MB=?GB

输出 #1  0.125000

输入 #2  64MB=?KB

输出 #2  65536.000000

代码

#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
  int num1;
  double num2=0;
  string per1;//单位 
  cin>>num1>>per1;
  //GB,MB,KB,B
  if(per1[0]=='G'&&per1[4]=='M')num2=num1*pow(2,10);
  if(per1[0]=='G'&&per1[4]=='K')num2=num1*pow(2,20);
  if(per1[0]=='G'&&per1[4]=='B')num2=num1*pow(2,30);
  
  if(per1[0]=='M'&&per1[4]=='K')num2=num1*pow(2,10);
  if(per1[0]=='M'&&per1[4]=='B')num2=num1*pow(2,20);  
  
  if(per1[0]=='K'&&per1[4]=='B')num2=num1*pow(2,10);   
  
  
  if(per1[0]=='B'&&per1[3]=='K')num2=num1/pow(2,10);
  if(per1[0]=='B'&&per1[3]=='M')num2=num1/pow(2,20);
  if(per1[0]=='B'&&per1[3]=='G')num2=num1/pow(2,30);
  
  if(per1[0]=='K'&&per1[4]=='M')num2=num1/pow(2,10);
  if(per1[0]=='K'&&per1[4]=='G')num2=num1/pow(2,20);
  
  if(per1[0]=='M'&&per1[4]=='G')num2=num1/pow(2,10);
  
  if(per1[1]=='B'&&per1[0]==per1[4])num2=num1;
  if(per1[1]=='B'&&per1[0]==per1[3])num2=num1;
  printf("%0.6lf\n",num2);
  return 0;
}
相关文章
|
7月前
|
人工智能 程序员
Wordle:为逗女友而爆火的小游戏
Wordle 是由程序员 Josh Wardle 为女友创作的猜词游戏,简单却极具吸引力:玩家需在6次内猜出5字母单词,通过绿、黄、灰提示调整答案。其每日一题、社交分享和纯净免费的特点使其风靡全球,甚至被《纽约时报》高价收购。Wordless 则是升级版,支持3-8字母长度与无限模式,提供更多挑战。此外,还有 Absurdle、Worldle 等变种游戏延伸乐趣。玩好这类游戏需灵活开局、善用排除法并积累词汇,享受解谜过程才是关键。点击链接开始你的猜词之旅吧!
714 14
|
前端开发 JavaScript API
React Draggable 实现拖拽 - 最详细中文教程 - 卡拉云
React Draggable 是 react 生态中,最好用的拖拽实现库之一。如果你的应用中需要实现拖拽功能,可以尝试用 react-draggable,它可以满足多数情况下的拖拽需求,比如一个弹出设置浮窗,可以相互遮挡的容器之类。在所有 react 拖拽库里(即 react dnd, drag and drop),react-draggable 算是把功能性和易用性平衡得最好的拖拽库了。
4062 0
|
Oracle JavaScript Java
JDK的版本迭代特性(JDK9 - JDK20)
JDK的版本迭代特性(JDK9 - JDK20)
|
11月前
|
Linux
SecureCRT连接Linux时乱码问题
本文详细介绍了在使用SecureCRT连接Linux服务器时出现乱码问题的解决方法,包括设置SecureCRT字符编码、检查和配置Linux服务器字符编码、调整终端设置等。通过这些方法,您可以有效解决SecureCRT连接Linux时的乱码问题,确保正常的终端显示和操作。希望本文能帮助您在实际操作中更好地解决类似问题,提高工作效率。
1007 17
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
Java+机器学习基础:打造AI学习基础
随着人工智能(AI)技术的飞速发展,越来越多的开发者开始探索如何将AI技术应用到实际业务场景中。Java作为一种强大的编程语言,不仅在企业级应用开发中占据重要地位,在AI领域也展现出了巨大的潜力。本文将通过模拟一个AI应用,从背景历史、业务场景、优缺点、底层原理等方面,介绍如何使用Java结合机器学习技术来打造一个AI学习的基础Demo。
570 18
|
传感器 数据采集 监控
数据采集器和物联网网关的区别
数据采集器主要用于从各种数据源收集数据。这些数据源可以是传感器(如温度传感器、压力传感器等)、仪表(如电表、水表等)或者其他具有数据输出功能的设备。物联网网关是连接感知层(包含各种传感器和数据采集设备)和网络层(如互联网、局域网等)的关键设备。
618 4
|
自然语言处理 Java API
"告别Java8 Stream噩梦,JDFrame神器来袭!让你的代码简洁如诗,效率翻倍,编程新体验等你尝鲜!"
【8月更文挑战第11天】Java 8的Stream API以强大的函数式编程能力革新了集合数据处理方式,但其抽象概念和复杂的链式调用让不少开发者望而却步。为此,JDFrame框架应运而生,通过直观易懂的操作符简化Stream使用,减少代码量并提高效率。
529 3
|
JavaScript Java 数据安全/隐私保护
基于SpringBoot+Vue毕业生信息招聘平台系统【源码+论文+演示视频+包运行成功】_基于spring vue的校园招聘系统源码(2)
基于SpringBoot+Vue毕业生信息招聘平台系统【源码+论文+演示视频+包运行成功】_基于spring vue的校园招聘系统源码
456 0
基于SpringBoot+Vue毕业生信息招聘平台系统【源码+论文+演示视频+包运行成功】_基于spring vue的校园招聘系统源码(2)
|
人工智能 弹性计算 安全
【Hello AI】GPU容器共享技术cGPU
GPU容器共享技术cGPU是阿里云基于内核虚拟GPU隔离的容器共享技术。即多个容器共享一张GPU卡,从而实现业务的安全隔离,提高GPU硬件资源的利用率并降低使用成本。
【Hello AI】GPU容器共享技术cGPU
|
Java Maven Windows
SpringBoot工程打包与运行(Windows版)
SpringBoot工程打包与运行(Windows版)
SpringBoot工程打包与运行(Windows版)