蓝桥杯刷题(四)

简介: 蓝桥杯刷题(四)

蓝桥杯刷题(四)
1.时间显示(注意审题)
2.七段码
3.路径
4.年号字符
5.棋盘放麦子

蓝桥杯题库

1.时间显示(注意审题)

这道题其实很简单,但我在提交时却总是通过不了…因为题目要求输入的时毫米,我把它看成了秒…找了半天都不知道错在了哪

include <stdio.h>

int main()
{

long long t = 0,n=0;
scanf("%lld", &t);
 n=t/1000;//将毫秒转化为秒
long long day = n / 86400;//算出一共有多少天,注意这里除的是整数所以小数部分会自动舍弃
long long oneday = n - 86400 * day;//算出最后一天剩下多少秒
long long oneday_h = oneday / 3600;//算出这一天有多少小时
printf("%.2lld:", oneday_h);
long long oneday_m = (oneday - oneday_h * 3600) / 60;//算出有多少分
printf("%.2lld:", oneday_m);
long long oneday_s = oneday - oneday_h*3600-oneday_m * 60;//算出有多少秒
printf("%.2lld", oneday_s);
return 0;

}

2.七段码

这道题建议手撸,暴力法

include <stdio.h>

include <stdlib.h>

int main(int argc, char *argv[])
{
// 请在此输入您的代码
int sum = 0;


//有一段二极管发光; a,b,c,d,e,f,g
int l1 = 7;
//有两段二极管发光; ab,af,bc,bg,cg,cd,de,eg,ef,fg
int l2 = 10;
//有三段二极管发光; abf,abc,abg,afg,afe,bcd,bcg,bgf,bge,cgd,cgf,cge,cde,cdg,deg,def,efg
int l3 = 16;//
//有四段二极管发光; abcd,abcg,abcf,abge,abgf,abfe,afeg,bcde,bcdg,bcgf,bcge,bged,bgef,cdef,cdeg,cdgf,cgfa,cgfe,defg,defa
int l4 = 20;
//有五段二极管发光即有两端不发光; ab,ac,ad,ae,af,ag,bc,bd,be,bg,cd,cf,cg,de,df,dg,ef,eg,fg
int l5 = 19;//
//有六段二极管发光即有一端不发光; a,b,c,d,e,f,g
int l6 = 7;//(找一段二极管不发光的:)
//第七种情况,全部发光
int l7 = 1;

sum = l1 + l2 + l3 + l4 + l5 + l6 + l7;
printf("%d\n", sum);

return 0;
}

当然也可以用程序写出来,但很麻烦,反正我是手算的

include<stdio.h>

include<stdlib.h>

int main(){

int a,b,c,d,e,f,g;

int number=0;

for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
for(e=0;e<=1;e++)
for(f=0;f<=1;f++)
for(g=0;g<=1;g++)
{
    if((a==1&&(b==1||f==1))||a==0)
    if((b==1&&(a==1||g==1||c==1))||b==0)
    if((c==1&&(b==1||g==1||d==1))||c==0)
    if((d==1&&(c==1||e==1))||d==0)
    if((e==1&&(g==1||d==1||f==1))||e==0)
    if((f==1&&(a==1||g==1||e==1))||f==0)
    if((g==1&&(f==1||b==1||e==1||c==1))||g==0){
        if(a==0&&b==0&&c==0&&d==0&&e==0&&f==0&&g==0)
        break;
        else
        number++;
    }
}

printf("%d",number+7-3);
}

3.路径

这道题其实用到了一个枚举累加的方法,得出每两个点之间(注意是每两个点的)的最小公倍数,然后取最小的,依次相加

include <stdio.h>

include <stdlib.h>

int gcd(int x,int y)
{
int r;
r=x%y;
while(r!=0)
{

x=y;
y=r;
r=x%y;

}
return y;
}//辗转相除法求最大公因数

int lcm(int x,int y)
{
return (x*y/gcd(x,y));
}//最小公倍数

int min(int a,int b)
{
return a<b?a:b;
}//得出小的那个

int main()
{
int i=1;
int j;
int f[2022]={0};
for(i=1;i<=2021;i++)
{

for(j=i+1;j<=i+21&&j<=2021;j++)//依次得出i点到它后面21个点的公倍数
{
  if(f[j]==0)//如果这个j位置还没存放公倍数
  {
    f[j]=f[i]+lcm(i,j);//那么就放入从i点到该点的公倍数并加上之前走的路径长度
  }
  else
  {
    f[j]=min(f[j],f[i]+lcm(i,j));//如果该点已经存放了一个公倍数,那么就意味着之前已经计算过从某一个i点到该点的公倍数(因为多个不同点可以到达同一点),比较现在的i点到该点的公倍数,取较小的
  }
}

}
printf("%d",f[2021]);
return 0;
}

4.年号字符

这道题很简单,推荐使用暴力手算法,其实本质上就是一个26进制的转换,当然我在这还是演示一下程序写法

include <stdio.h>

int main()
{
int n=2019,j=0,len=0;
char arr[10]={0};
while(n%26!=0)
{

arr[j++]=(n%26-1)+'A';
n=n/26;

}//辗转相除法
for(int i=0;i<10;i++)
{
if(arr[i]!=0)
{

 len++;

}
}
for(int i=len-1;i>=0;i--)
{
printf("%c",arr[i]);
}//将每个字符逆序打印出来
return 0;
}

5.棋盘放麦子

相信大家在小时候就听过这个故事,其实这道题很简单,就是求2的多少次方再累加,但需要注意的是溢出,这里只有unsigned long long(2^64-1)能放下

include <stdio.h>

include<math.h>

int main()
{
unsigned long long i=0,sum=0,k=0;
for(i=0;i<64;i++)
{

k=(long long)pow(2,i);
sum+=k;

}
printf("%llu",sum);
return 0;
}

相关文章
|
Web App开发 编解码 网络协议
LVS峰会 | 阿里云李刚:下一代低延时的直播CDN
在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了《下一代低延时的直播CDN》技术分享。主讲人李刚,多年关注在CDN这个领域,早期主要研究和cache服务器缓存以及流媒体相关的技术, 专注CDN文件分发、图片与大文件下载等业务。
5568 0
|
存储 缓存 移动开发
HTML5 的离线储存怎么使用,工作原理
HTML5 的离线储存怎么使用,工作原理
275 0
|
编解码 图形学 iOS开发
AVPro Movie Capture☀️一、一款U3D录屏插件介绍
AVPro Movie Capture☀️一、一款U3D录屏插件介绍
|
12月前
|
缓存 测试技术 C#
使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
【10月更文挑战第20天】本文介绍了使用 Radzen Blazor 组件库开发基于 ABP 框架的炫酷 UI 主题的步骤。从准备工作、引入组件库、设计主题、集成到 ABP 框架,再到优化和调试,详细讲解了每个环节的关键点和注意事项。通过这些步骤,你可以打造出高性能、高颜值的应用程序界面。
421 1
|
消息中间件 编解码 网络协议
聊聊 RocketMQ 网络通讯模块
RocketMQ 的网络通讯模块负责生产者、消费者与 Broker 之间的网络通信。 笔者学习 RocketMQ 也是从通讯模块源码开始的,并且从源码里汲取了很多营养。
聊聊 RocketMQ 网络通讯模块
|
自然语言处理 安全 Java
Spring Boot中集成Lucence
本节课首先详细的分析了全文检索的理论规则,然后结合 Lucene,系统的讲述了在 Spring Boot 的集成步骤,首先快速带领大家从直观上感受 Lucene 如何建立索引已经如果检索,其次通过中文检索的具体实例,展示了 Lucene 在全文检索中的广泛应用。Lucene 不难,主要就是步骤比较多,代码不用死记硬背,拿到项目中根据实际情况做对应的修改即可。
|
Web App开发 关系型数据库 PHP
使用 Docker 快速搭建多版本 PHP 开发环境
使用 Docker 快速搭建多版本 PHP 开发环境
293 2
|
图形学
【unity实战】实现一个buff系统(附项目源码)
【unity实战】实现一个buff系统(附项目源码)
1082 0
|
SQL 安全 算法
BugKu CTF(Crypto):[+-<>] & 把猪困在猪圈里 & 你喜欢下棋吗 & 小山丘的秘密
BugKu CTF(Crypto):[+-<>] & 把猪困在猪圈里 & 你喜欢下棋吗 & 小山丘的秘密
|
编译器 数据处理 Python
Anaconda下Python中GDAL模块的下载与安装方法
Anaconda下Python中GDAL模块的下载与安装方法
599 1