0


蓝桥杯 题库 简单 每日十题 day2

在这里插入图片描述

01 卡片

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。

小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从 1 拼到多少。

例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,

但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。

现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1拼到多少?

提示:建议使用计算机编程解决问题。

解析

#include<stdio.h>#include<stdlib.h>intmain(){int i;int arr[10];for(i =0; i <10; i++){
        arr[i]=2021;// 记录0-9这10张卡片的数量,开始都是2021张}for(i =1;; i++){// 由于不知道到i的边界值,省略,会一直执行int x = i;// 用x来存放每一个i的值,防止i值的改变while(x){if(arr[x %10]==0){// 当有一张卡片的数量剩余为0张的时候,输出前一个i的值,也就是i-1,并退出printf("%d\n", i -1);exit(0);}
            arr[x %10]--;// 每一张卡片数量减少1
            x /=10;}}return0;}

02 最短路

在这里插入图片描述

#include<stdio.h>#include<stdlib.h>intmain(){// 一眼丁真,鉴定为6printf("%d",6);return0;}

03 跑步锻炼

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2千米。

小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?

解析

#include<stdio.h>//依次判断年月日周 intmain(){int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int year,month,day;int ans=6;//一月一号是周六 int cnt=0;//公里数 for(year=2000;year<=2020;year++){if(year%4==0&&year%100!=0||year%400==0){
            months[2]=29;}else{
            months[2]=28;}for(month=1;month<=12;month++){//几月 for(day=1;day<=months[month];day++){//几日 
            cnt++;//每天一千米 if(ans==8){
                ans=1;//ans自增到 8 时归回 1 }if(ans==1||day==1){//或意味着A对,B对,AB同时对三种情况 
                cnt++;//周一或月初或周一与月初多跑一千米 }
            ans++;//进入第二天 if(year==2020&&month==10&&day==1){//到2020.10.1结束循环 printf("%d",cnt);}}}}return0;//一点一点来不要怕错 }

04 九进制转十进制

在这里插入图片描述

解析

#include<stdio.h>#include<stdlib.h>#include<math.h>intmain(){int a,b,c,d,e;int sum;
  a=2022;
b=a/1000;
c=a/100%10;
d=a/10%10;
e=a%10;
sum=pow(9,3)*b+pow(9,2)*c+pow(9,1)*d+pow(9,0)*e;printf("%d",sum);// 请在此输入您的代码return0;}

05 纸张尺寸

问题描述
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm× 841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm× 594mm, 在对折的过程中长度直接取 下整 (实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸, 依此类推。

输入纸张的名称, 请输出纸张的大小。

输入格式
输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。

输出格式
输出两行,每行包含一个整数,依次表示长边和短边的长度。
样例输入1

A0

样例输出1

1189841

样例输入 2

A1

样例输出 2

841594

解析

#include<stdio.h>intmain(){char n;int x,a=1189,b=841,t;scanf("%c%d",&n,&x);while(x--){
        a=a/2;
        t=a;
        a=b;
        b=t;}printf("%d\n%d",a,b);return0;}

06 MP3 储存【蓝桥杯填空题示例题目】

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如果一个 MP3 文件占用磁盘的大小是 4MB,小蓝的硬盘还剩下 100GB 的空间,请问他还可以放多少个这样的 MP3 文件?

正确解法
本题正确答案为 25600,只需要在代码中使用输出语句输出即可,各语言示例如下:

C

#include<stdio.h>#include<stdlib.h>intmain(int argc,char*argv[]){printf("25600");return0;}

C++

#include<iostream>
using namespace std;intmain(){
  cout<<25600<<endl;return0;}

Java

import java.util.Scanner;
public class Main {
    public staticvoidmain(String[] args){
        Scanner scan = new Scanner(System.in);
        System.out.println(25600);
        scan.close();}}

Python

import os
import sys
print(25600)

解析

#include<iostream>
using namespace std;intmain(){// 请在此输入您的代码int a=100*1024;
  cout<<a/4;return0;}

07 门牌制作

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝要为一条街的住户制作门牌号。

这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。

小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,22 个字符 1,1 个字符 7。

请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?

解析

#include<iostream>usingnamespace std;intmain(){// 请在此输入您的代码int num=0;for(int i=1;i<=2020;i++){if(i%10==2) num++;if(i/10%10==2) num++;if(i/100%10==2) num++;if(i/1000==2) num++;}
  cout<<num;return0;}

08 奇数倍数

在这里插入图片描述

解析

#include<stdio.h>#include<stdlib.h>intjs(int x){while(x>0){if(x%10%2==0)return0;
    x/=10;}return1;}intmain(){int ans=2019;for(ans;;ans+=2019)if(js(ans)){printf("%d",ans);break;}return0;}

09 第几天

在这里插入图片描述

#include<iostream>usingnamespace std;intmain(){// 请在此输入您的代码printf("%d",31+29+31+30+4);return0;}

10 倍数

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

请问在 1 到 2020 中,有多少个数既是 4 的整数倍,又是 6 的整数倍。

解析

#include<iostream>usingnamespace std;intmain(){int j =0,i;for(i =12;i <=2020;){
        j ++;
        i =(j+1)*12;}    
    cout << j << endl;return0;}
标签: 蓝桥杯 算法 图论

本文转载自: https://blog.csdn.net/weixin_74774974/article/details/132921988
版权归原作者 暗托涅瓦 所有, 如有侵权,请联系我们删除。

“蓝桥杯 题库 简单 每日十题 day2”的评论:

还没有评论