第十一届蓝桥杯大赛校内模拟(软件类)真题

Top1

【问题描述】
在计算机存储中,15.125GB是多少MB?
【答案提交】
这是一道结果填空的题,
你只需要算出结果后提交即可
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

//1GB为1024MB,15.125*1024=15488。
  float num=(float) 15.125;
  System.out.println(num*1024);

Top2

【问题描述】
1200000有多少个约数(只计算正约数)
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

约数(又称因数)是指若整数a除以整数b(b≠0)除得的商正好是整数而没有余数,
就说a能被b整除,或b能整除a,其中a称为b的倍数,b称为a的约数。
一个整数的约数是有限的,在特定情况下它可以成为公约数。

int num=1200000;
  int count=0;
  //循环遍历
  for (int i = 1; i <=1200000; i++) {
   if(num%i==0){
    count++;
   }
  }
  System.out.println(count);

Top3

【问题描述】
一棵包含有2019个结点的二叉树,最多包含多少个叶结点?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分

答案:1010

Top4

【问题描述】
在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次
例如,1999这个数包含数字9,在计算只是算一个数。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

解题思路 : 用到了之前在博客上面一个博主那里学到的一个用contains方法判断包含的数字

int num=0;
  for (int i = 0; i <=2019; i++) {
   //将 char 变量 c 转换成字符串 这个时候2019就变成了“2019”
   String str=String.valueOf(i);
   
   if(str.contains("9")){
    num++;
   }
  }
  
  System.out.println(num);

Top5

【问题描述】
一个正整数如果任何一个数位不大于右边相邻的数位
则称为一个数位递增的数,
例如1135是一个数位递增的数,
而1024不是一个数位递增的数
给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
【输入格式】
输入的第一行包含一个整数 n
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
30
【样例输出】
26
评测用例规模与约定】
对于 40% 的评测用例,1 <= n <= 1000。
对于 80% 的评测用例,1 <= n <= 100000。
对于所有评测用例,1 <= n <= 1000000

参考了大佬代码

在这里插入图片描述

Top6

【问题描述】
在数列 a[1], a[2], …, a[n] 中
如果对于下标 i, j, k 满足 0<i<j<k<n+1
且 a[i]<a[j]<a[k],则称 a[i], a[j], a[k] 为一组递增三元组,
a[j]为递增三元组的中心。
给定一个数列,请问数列中有多少个元素可能是递增三元组的中心
【输入格式】
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔,表示给定的数列。
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
5
1 2 5 3 5
【样例输出】
2
【样例说明】
a[2] 和 a[4] 可能是三元组的中心。
【评测用例规模与约定】
对于 50% 的评测用例,2 <= n <= 100,0 <= 数列中的数 <= 1000。
对于所有评测用例,2 <= n <= 1000,0 <= 数列中的数 <= 10000。

public static void main(String[] args) {
  Scanner sc=new Scanner(System.in);
  //输入一个数组长度
  int n=sc.nextInt();
  
  int [] a=new int [n];
  int [] min=new int [n];
  int [] max=new int [n];
  
  for (int i = 0; i <n; i++) {
   a[i]=sc.nextInt();
   min[0]=a[0];
   max[n-1]=a[n-1];
  }
  for (int i = 1; i < n; i++) {
   min[i]=Math.min(a[i], max[i-1]);
  }
  for (int i = n-2; i >=0; i--) {
   max[i]=Math.max(a[i], max[i+1]);
  }
  int count=0;
  for (int i = 1; i <n-1; i++) {
   if(a[i]>min[i-1]&&a[i]<max[i+1]){
    count++;
    //System.out.print(i+1+" ");
   }
  }
  System.out.println(count);
  }
 }

Top7

【问题描述】
小明对类似于 hello 这种单词非常感兴趣,
这种单词可以正好分为四段,第一段由一个或多个辅音字母组成,
第二段由一个或多个元音字母组成,
第三段由一个或多个辅音字母组成,
第四段由一个或多个元音字母组成
给定一个单词,请判断这个单词是否也是这种单词,
如果是请输出yes,否则请输出no。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母
【输入格式】
输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】
输出答案,或者为yes,或者为no。
【样例输入】
lanqiao
【样例输出】
yes
【样例输入】
world
【样例输出】
no
【评测用例规模与约定】
对于所有评测用例,单词中的字母个数不超过100。

public static void main(String[] args) throws IOException {
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  //读取流读数据
  String str=br.readLine();
  
  boolean flag=false;
  
  //首字母一定是辅音字母,然后用开关变量控制后面的是元音还是辅音,再用一个变量记录下变化的次数,如果变化了3次就是对的
  int sum=0;
  
  //如果第一个字母是元音,直接退出
  if(str.charAt(0)=='a'||str.charAt(0)=='e'||str.charAt(0)=='i'||str.charAt(0)=='o'||str.charAt(0)=='u') {
   System.out.println("no");
   return;
  }
  for(int i=0;i<str.length();i++) {
   //如果这个字母是元音,而它前面的字母是辅音
   if((str.charAt(i)=='a'||str.charAt(i)=='e'||str.charAt(i)=='i'||str.charAt(i)=='o'||str.charAt(i)=='u')&&!flag) {
    sum++;
    flag=true;
   }
   //如果这个字母是辅音,而它前面的字母是元音
   if(str.charAt(i)!='a'&&str.charAt(i)!='e'&&str.charAt(i)!='i'&&str.charAt(i)!='o'&&str.charAt(i)!='u'&&flag) {
    sum++;
    flag=false;
   }
  }
  if(sum==3) {
   System.out.println("yes");
  }
  else {
   System.out.println("no");
  }
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值