【蓝桥杯速成】| 1.暴力解题

1高频考点与暴力解题_哔哩哔哩_bilibili

感谢up主分享,以下内容是学习笔记,以c++为主,部分python


题目一:维纳的年龄

题目内容

美国数学家维纳(N.Wiener)智力早熟,
11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。
一次,他参加某个重要会议,年轻的脸孔引人注目。
于是有人询问他的年龄,
他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。
这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 
请编程输出当年维纳的年龄。

解题步骤

利用暴力法枚举得到维纳的年龄,

先对大致范围做一个确定

立方为4位数,一定大于10,

4次方为6位数,一定小于30

所以外层循环为

for(int i=10;i<30;i++){} 

 再求出年龄的立方和四次方,保险起见用long long

    long long cube=(long long)i*i*i;long long forth=(long long)i*i*i*i;

 再做检查,进一步缩小范围,以此为内层条件

    if(cube>1000 && cube<10000 && forth>100000 && forth<1000000){}

 利用自定义函数检查是否包含0~9

可以把立方和四次方转为字符串,再用字符串的sort方法排序,方便挨个检查

这样可以不用字典之类的统计次数啥的,比较简单

bool isunique(long long cube,long long forth){//把两个数字转为字符串并且拼接 string s=to_string(cube)+to_string(forth);//调用字符串函数进行排序,方便检查 sort(s.begin(),s.end());//逐个检查 for(int i=0;i<10;i++){if(s[i]!='0'+i)	return false;}return true;
}

如果符合要求在主函数中打印输出,可以再看看是否正确

cout<<i<<" "<<cube<<" "<<forth;

答案

18岁 

 code

#include<iostream>
#include<string>
#include<algorithm>using namespace std;bool isunique(long long cube,long long forth){//把两个数字转为字符串并且拼接 string s=to_string(cube)+to_string(forth);//调用字符串函数进行排序,方便检查 sort(s.begin(),s.end());//逐个检查 for(int i=0;i<10;i++){if(s[i]!='0'+i)	return false;}return true;
}
int main(){//使用暴力枚举//先确定大致范围,立方为4位数,一定大于10,//4次方为6位数,一定小于30for(int i=10;i<30;i++){//求出这该4位数和6位数long long cube=(long long)i*i*i;long long forth=(long long)i*i*i*i;//再做检查 if(cube>1000 && cube<10000 && forth>100000 && forth<1000000){//调用函数检查是否包含0~9 if(isunique(cube,forth))//结果输出再检查一下! cout<<i<<" "<<cube<<" "<<forth;}} return 0;
}

 题目二:小明的妹妹

题目内容

小明带两个妹妹参加元宵灯会。
别人问她们多大了,她们调皮地说:“我们俩的年龄之积是年龄之和的6倍”。
小明又补充说:“她们可不是双胞胎,年龄差肯定也不超过8岁啊。”
请你写出:小明的较小的妹妹的年龄。

解题步骤

 用两个int型变量表示两人年龄,初定范围1~50岁

int x,y;//x为较小的妹妹 
for(x=1;x<100;x++){//给定年龄合适区间

年龄差不超过8岁就从8岁开始倒推

y=x+8;//相差不超过8岁 
for(;y>x;y--){

逐个检查年龄之积是年龄之和的6倍

if(x*y==6*(x+y))//年龄之积是年龄之和的6倍cout<<x<<" "<<y;//输出检查 

答案

10

code

#include<iostream>
using namespace std;
int main(){int x,y;//x为较小的妹妹 for(x=1;x<50;x++){//给定年龄合适区间 y=x+8;//相差不超过8岁 for(;y>x;y--){if(x*y==6*(x+y))//年龄之积是年龄之和的6倍cout<<x<<" "<<y;//输出检查 }}
}

题目三:制作门牌

题目内容

小蓝要为一条街的住户制作门牌号。
这条街一共有2020 位住户,门牌号从1 到2020 编号。
小蓝制作门牌的方法是先制作0 到9 这几个数字字符,
最后根据需要将字符粘贴到门牌上,
例如门牌1017 需要依次粘贴字符1、0、1、7,即需要1 个字符0,2 个字符1,1 个字符7。
请问要制作所有的1 到2020 号门牌,总共需要多少个字符2? 

解题步骤

利用好字符串内置函数解题嘎嘎快

从1开始到2020,把数字转为字符串

for(int i=1;i<2021;i++){string s=to_string(i);

统计2出现次数

count(s.begin(),s.end(),'2');

累计得出结果

int sum;
sum+=count(s.begin(),s.end(),'2');

答案

624

code

#include<iostream>
#include<string>
#include <algorithm>
using namespace std;
int main(){int sum;for(int i=1;i<2021;i++){string s=to_string(i);sum+=count(s.begin(),s.end(),'2');}cout<<sum;return 0;
}


问题四:国庆节是星期日

问题内容

1949年的国庆节(10月1日)是星期六。
今年(2012)的国庆节是星期一。
那么,从建国到现在,有几次国庆节正好是星期日呢?

解题步骤

使用python中的datetime库,可以很方便的解决所有时间问题

设置起始时间和终止时间,以及统计值

a=date(1949,10,1)
b=date(2012,10,1)
cnt=0

循环判断

满足 是10月  是1号  是周日

(注意a.weekday() 返回的整数范围是 0 到 6,分别对应星期一到星期日)

日期增加1

while a<=b:if a.month==10 and a.day==1 and a.weekday()==6:cnt+=1a+=timedelta(1)

输出结果

print(cnt)

答案

9

code

from datetime import *
a=date(1949,10,1)
b=date(2012,10,1)
cnt=0
while a<=b:if a.month==10 and a.day==1 and a.weekday()==6:cnt+=1a+=timedelta(1)
print(cnt)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C++Qt] 槽函数收不到信号问题(信号的注册)

&#x1f4e2;博客主页&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 丶布布原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&#x1f4e2;现…

从零开始用AI开发游戏(一)

1. 核心玩法设计 核心目标&#xff1a;玩家需在随机生成的3D迷宫中寻找出口&#xff0c;躲避陷阱、收集道具、解开谜题。核心机制&#xff1a; 随机生成迷宫&#xff1a;每次游戏生成不同结构的迷宫&#xff08;递归分割算法或深度优先搜索&#xff09;。第一人称视角&#xf…

基于ssm的宠物医院信息管理系统(全套)

一、系统架构 前端&#xff1a;html | layui | vue | element-ui 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.8 | mysql | maven | tomcat | idea | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页…

【CXX】6.7 SharedPtr<T> — std::shared_ptr<T>

std::shared_ptr 的 Rust 绑定称为 SharedPtr。 限制&#xff1a; SharedPtr 不支持 T 为不透明的 Rust 类型。对于在语言边界上传递不透明 Rust 类型的所有权&#xff0c;应改用 Box&#xff08;C 中的 rust::Box&#xff09;。 示例 // src/main.rsuse std::ops::Deref; …

利用python生成excel中模板范围对应的shape文件

利用python生成excel中模板范围对应的shape文件 # -*- coding: utf-8 -*- import os.pathimport pandas as pd from shapely.geometry import Polygon from shapely.wkt import dumps import argparse# 创建解析器 parser argparse.ArgumentParser(description"这是一个…

cursor使用

引入私有文档 设置-> Features->下滑找到Docs url后边多加一个 / 可以拉取url下所有的页面(子页面&#xff0c;子目录)&#xff0c;不加只拉取url当前页面 使用 选择 Docs 回车 选择 文档 直接解析链接 链接 回车 搜索引擎 web 对比git版本差异 git 选择其中一个 g…

达梦数据库中插入导出图片的方法与应用

达梦数据库中插入导出图片的方法与应用 在数据库的实际应用场景中&#xff0c;图片存储是一项常见且重要的需求。以电商平台为例&#xff0c;商品展示图片是吸引消费者的关键元素&#xff1b;而在社交软件里&#xff0c;用户头像更是个人形象的直观体现。针对达梦数据库&#…

【云原生】动态资源分配(DRA)深度洞察报告

1. DRA 的发展与设计灵感 Kubernetes 早期通过 Device Plugin&#xff08;设备插件&#xff09;机制支持 GPU、NIC 等特殊硬件&#xff0c;将节点上可用设备数量上报给 kubelet 和调度器。但设备插件模式存在局限&#xff1a;调度器只能根据节点标签等属性粗粒度筛选&#xff…

嵌入式八股ARM篇

前言 ARM篇主要介绍一下寄存器和中断机制,至于汇编这一块…还请大家感兴趣自行学习 1.寄存器 R0 - R3 R4 - R11 寄存器 R0 - R3一般用作函数传参 R4 - R11用来保存程序运算的中间结果或函数的局部变量 在函数调用过程中 注意在发生异常的时候 cortex-M0架构会自动将R0-R3压入…

Python 实现的采集诸葛灵签

Python 实现的采集诸葛灵签 项目介绍 这是一个基于 Python 开发的诸葛灵签数据采集和展示项目。通过爬虫技术获取诸葛神签的签文和解签内容&#xff0c;并提供数据存储和查询功能。 项目结构 zhuge/├── zhuge_scraper.py # 爬虫主程序├── zhuge_pages/ # 数据存储目录…

【C++项目实战】校园公告搜索引擎:完整实现与优化指南

&#x1f3ac; 个人主页&#xff1a;谁在夜里看海. &#x1f4d6; 个人专栏&#xff1a;《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长&#xff0c;行则将至 目录 &#x1f4da;一、项目概述 &#x1f4d6;1.项目背景 &#x1f4d6;2.主要功能 &#x1f4d6;3.界面展…

代理(Delegate)、闭包(Closure)、Notification(通知中心) 和 swift_event_bus适用场景和工作方式

在 Swift 开发中&#xff0c;在 Swift 开发中&#xff0c;代理&#xff08;Delegate&#xff09;、闭包&#xff08;Closure&#xff09;、Notification&#xff08;通知中心&#xff09; 和 swift_event_bus 主要用于 组件之间的通信&#xff0c;但它们的适用场景和工作方式有…

设计模式--单例模式(Singleton)【Go】

引言 在设计模式中&#xff0c;单例模式&#xff08;Singleton Pattern&#xff09;是一种非常常见且实用的模式。它的核心思想是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这种模式在需要全局唯一对象的场景中非常有用&#xff0c;比如配置管理、日志记录、数…

MySQL数据库复制

文章目录 MySQL数据库复制一、复制的原理二、复制的搭建1.编辑配置文件2.在主库上创建复制的用户3.获取主库的备份4.基于从库的恢复5.建立主从复制6.开启主从复制7.查看主从复制状态 MySQL数据库复制 MySQL作为非常流行的数据库&#xff0c;支撑它如此出彩的因素主要有两个&am…

Sourcetree——使用.gitignore忽略文件或者文件夹

一、为何需要文件忽略机制&#xff1f; 1.1 为什么要会略&#xff1f; 对于开发者而言&#xff0c;明智地选择忽略某些文件类型&#xff0c;能带来三大核心优势&#xff1a; 仓库纯净性&#xff1a;避免二进制文件、编译产物等污染代码库 安全防护&#xff1a;防止敏感信息&…

基于yolov8+streamlit实现目标检测系统带漂亮登录界面

【项目介绍】 基于YOLOv8和Streamlit实现的目标检测系统&#xff0c;结合了YOLOv8先进的目标检测能力与Streamlit快速构建交互式Web应用的优势&#xff0c;为用户提供了一个功能强大且操作简便的目标检测平台。该系统不仅具备高精度的目标检测功能&#xff0c;还拥有一个漂亮且…

分享vue好用的pdf 工具实测

vue3-pdf-app&#xff1a; 带大纲&#xff0c;带分页&#xff0c;带缩放&#xff0c;带全屏&#xff0c;带打印&#xff0c;带下载&#xff0c;带旋转 下载依赖&#xff1a; yarn add vue3-pdf-appornpm install vue3-pdf-app 配置类&#xff1a; 创建文件 pdfConfig.ts /…

基于微信小程序开发的宠物领养平台——代码解读

项目前端 一、项目的技术架构概况 一句话概括&#xff1a;该项目是基于微信小程序开发的宠物领养平台&#xff0c;采用原生小程序框架进行用户界面的构建&#xff0c;使用 wx.request 进行 API 请求&#xff0c;并通过 getApp() 和本地存储来管理全局状态和用户信息。 一&am…

最完美的WPF无边框设计!

常规的无边框方法设计 常规的WPF无边框设计方法都是通过AllowsTransparency="True"和WindowStyle=“None”,并且使用WindowChrome样式来实现,但是这样会有问题就是,窗体最大化的时候将底部任务栏给挡住了,另外最大化的时候不能拖动窗体。参考这个大佬的设计@ 若…

【区块链】btc

学习视频源链接&#xff1a; https://www.bilibili.com/video/BV1Vt411X7JF/ 本文是根据肖老师的视频进行的笔记记录 一、 cryptographic hash function 1.1. collision resistance抗碰撞性 &#xff1a; collision 指的是hash碰撞 抗碰撞性 (Collision Resistance) 是密码…