当前位置: 首页 > news >正文

蓝桥杯每天5题

2025/03/31打卡

问题1 小球反弹

问题描述

有一长方形,长为 343720343720 单位长度,宽为 233333233333 单位长度。在其内部左上角顶点有一小球 (无视其体积),其初速度如图所示且保持运动速率不变,分解到长宽两个方向上的速率之比为 dx:dy=15:17d**x:d**y=15:17。小球碰到长方形的边框时会发生反弹,每次反弹的入射角与反射角相等,因此小球会改变方向且保持速率不变(如果小球刚好射向角落,则按入射方向原路返回)。从小球出发到其第一次回到左上角顶点这段时间里,小球运动的路程为多少单位长度?答案四舍五入保留两位小数。

答案提交

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个小数,在提交答案时只填写这个小数,填写多余的内容将无法得分。

解答1

这里解答的思路有点新颖,首先我们注意到速度是不变的,所以只是方向改变打的话,我们的思路其实可以转化为击中角落其实就是走了长和宽的奇数偶数倍,其实取模为0,如果长宽取模都为0,则说明其位置已经在角落了,那么我们知道单位是单位长度(抽象),则其路程不就为速度乘以时间,我们知道了其速率之比(我们设vx=15,vy=17,小k约掉,由单位长度其实我们知道v可以看成1),则只需要判断一下他的宽高路程取模后为0即可,最后勾股定理算出路程,最后原路返回记得乘2

#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long length=343720,width=233333;
    long long t=1;//第几次碰撞也就是第几秒
    while(1){
        if(15*t%length==0&&17*t%width==0){
            break;
        }   
        t++;
    }
    //因为速度不变,每次向上下和向左右的速度不变,所以其实知道时间就可以算出路程
    printf("%.2f",2*sqrt(15*15*t*t+17*17*t*t));
    return 0;
}
​

问题2 区间和

P8218 【深进1.例1】求区间和 - 洛谷

P8218 【深进1.例1】求区间和

题目描述

给定 $n$ 个正整数组成的数列 $a_1, a_2, \cdots, a_n$ 和 $m$ 个区间 $[l_i,r_i]$,分别求这 $m$ 个区间的区间和。

对于所有测试数据,$n,m\le10^5,a_i\le 10^4$

输入格式

第一行,为一个正整数 $n$ 。

第二行,为 $n$ 个正整数 $a_1,a_2, \cdots ,a_n$

第三行,为一个正整数 $m$ 。

接下来 $m$ 行,每行为两个正整数 $l_i,r_i$ ,满足$1\le l_i\le r_i\le n$

输出格式

共 $m$ 行。

第 $i$ 行为第 $i$ 组答案的询问。

输入输出样例 #1

输入 #1

4
4 3 2 1
2
1 4
2 3

输出 #1

10
5

说明/提示

样例解释:第 $1$ 到第 $4$ 个数加起来和为 $10$。第 $2$ 个数到第 $3$ 个数加起来和为 $5$。

对于 $50 \%$ 的数据:$n,m\le 1000$;

对于 $100 \%$ 的数据:$1 \le n, m\le 10^5$,$1 \le a_i\le 10^4$

解答2

套前缀和模版,用一个数组去记录部分的和

//区间和
//相加注意ll,记得考虑数组大小
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
#define ll long long
ll a[N],sum[N];
int main(){
    ll num,cnt,q1,q2,ans;
    cin>>num;
    cin>>a[0];
    sum[0]=a[0];
    for(int i=1;i<num;i++){
        cin>>a[i];
        sum[i]=sum[i-1]+a[i];
    }
    cin>>cnt;
    for(int i=0;i<cnt;i++){
        cin>>q1>>q2;
        ans=sum[--q2]-sum[--q1-1];
        cout<<ans<<endl;
    }
    return 0;
}

问题3 to_string函数

挑7牛客题霸牛客网

image-20250331201657398

解答3

//过7
#include <iostream>
using namespace std;
​
int main() {
    int a,ans=0;
    string s;
    cin>>a;
    for(int i=1;i<=a;i++){
        if(i%7==0)
            ans++;
        else{
            s=to_string(i);
            if(s.find('7')!=string::npos)
                ans++;
        }
    
    }
    cout<<ans;
}

问题4 怎么忽略掉无效输出

不要三句号的歪牛客题霸牛客网

image-20250331202414361

解答4

//不要三句号的歪
#include<bits/stdc++.h>
using namespace std;
int main(){
    char c;
    int a,b,d;
    cin>>a>>c>>b>>c>>c>>c>>c>>c>>d;
    cout<<d-3-a+1;
​
    return 0;
}

问题5  总结规律题

杨辉三角的变形牛客题霸牛客网

image-20250331215602118

解答5

//变形的杨辉三角
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
int main(){
    int num;
    cin>>num;
    if(num==1||num==2)
        cout<<-1;
    else if(num%4==0)
        cout<<3;
    else if(num%2!=0)
        cout<<2;
    else
        cout<<4;
    return 0;
}

相关文章:

  • SQL注入:基于GET和POST的报错注入详解
  • 【含文档+PPT+源码】基于微信小程序的在线考试与选课教学辅助系统
  • RAG 优化 Embedding 模型或调整检索策略
  • VBA代码解决方案第二十三讲 EXCEL中,如何删除工作表中的空白行
  • XSLT Apply:深入解析XSLT在XML转换中的应用
  • Qt之QTextEdit控制文本滚动, 停止滚动, 开始滚动, 鼠标控制滚动
  • 单调队列-滑动窗口算法一篇学会-AcWing 154. 滑动窗口
  • js中的document.querySelect()
  • 哈希表 - 两数之和(Map) - JS
  • OpenBMC:BmcWeb 处理http请求2 查找路由对象
  • 0102-web架构网站搭建-基础入门-网络安全
  • 我的世界1.20.1进阶模组开发教程——升级模板与文字格式
  • Nginx 配置 HTTPS 与 WSS 完整指南
  • 亚马逊新卖家破局指南:从0到1搭建可持续出单模型
  • Linux内核编程
  • 关于CodeJava的学习笔记——11
  • 贪心算法(13)(java)合并区间
  • vscode 使用vue3
  • Linux内核设计——(一)进程管理
  • 2025年汽车加气站操作工备考题库
  • 网站管理的内容包括/代发qq群发广告推广
  • WordPress电影网/郴州seo
  • 制作企业网站多少钱/惠州seo报价
  • 橙光游戏制作器手机版/seo系统培训
  • 中企动力常州分公司/seo关键词优化是什么意思
  • wordpress4.7添加菜单/百度优化软件