蓝桥杯 之 填空题-位运算与循环

文章目录

  • 循环
    • 握手问题
    • 门牌制作-循环
    • 小球反弹
    • 幸运数
    • 艺术与篮球
    • 跑步
  • 位运算
    • 3个1
    • 美丽的2024

位运算
在这里插入图片描述

可以关注这个Lowbit(x)

在这里插入图片描述

如何判断最低位是否是1? num&1 == 1就说明num最低位是1

循环

循环

握手问题

握手问题

在这里插入图片描述

思路分析: 可以直接计算出来,但是我们也同时可以用循环进行模拟

# 使用逆向思维
# 全部都握手-7人之间的相互握手
ans = 0
for i in range(1,50):ans+=i
# 7个人之间相互握手
ans1 = 0
for j in range(1,7):ans1+=j
print(ans-ans1)
# 答案是1204
  • 模拟的代码
ans = 0
for i in range(1, 51):for j in range(i+1, 51):if i <= 7 and j <= 7:continueelse:ans += 1

门牌制作-循环

门牌制作

在这里插入图片描述

思路分析:可以通过数学规律进行求解,但是也可以暴力循环计算

# 直接模拟
from collections import  Counter
num = []for i in range(1,2021):s = list(str(i))num.extend(s)countnum = Counter(num)
print(countnum['2'])
# 答案624

小球反弹

小球反弹

在这里插入图片描述

思路循环:关键在于运动的分解!!

在这里插入图片描述

def check(a, b):if a % b == 0 and (a // b) % 2 == 0:return Truereturn Falseimport math
t = 1
LA , LB = 0,0
while True:LA = 15*tLB = 17*t# if LA % 343720 == 0 and (LA//343720) % 2 == 0 and LB % 233333 == 0 and (LB//233333) % 2 == 0:if check(LA,343720 ) and check(LB,233333):breakt+=1
print(math.sqrt(LA**2 + LB**2))

幸运数

幸运数

在这里插入图片描述

思路分析:直接暴力求解

end = 100000001
ans = 0
def manzu(num):a = list(map(int,str(num)))n = len(a)if n % 2 == 1:return Falseif sum(a[:n//2]) == sum(a[n//2:]):return Truereturn Falsefor i in range(1,end):if manzu(i):ans+=1
print(ans)# 4430091

艺术与篮球

艺术与篮球

在这里插入图片描述

思路分析:直接暴力模拟即可

# 先建立映射表
# 闰年的计算,能够被4整除但是不能被100整除,或者能够被400整除
# 笔画对应
mat = {"0":13,"1":1,"2":2,"3":3,"4":5,"5":4,"6":4,"7":2,"8":2,"9":2}
day = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
ans1,ans2 = 0,0
def run(year):if (year % 4 == 0 and year % 100 != 0 ) or (year % 400 == 0):return Trueelse:return False
def cal(num):a = list(num)suma = 0for i in a:suma += mat[i]if suma  > 50:return Trueelse:return False
for y in range(2000,2024):s1 = str(y)for m in range(1,13):s2 = str(m)if m <10:s2 = "0" + s2d = day[m]if run(y) and m == 2:d+=1for i in range(1,d+1):s3 = str(i)if i < 10:s3 = "0" + s3if cal(s1+s2+s3):ans1+=1
print(ans1)
# 3185
# 现在计算20240101到20240413
for y in range(2024,2025):s1 = str(y)for m in range(1,5):s2 = str(m)if m <10:s2 = "0" + s2d = day[m]if run(y) and m == 2:d+=1if m == 4:d = 13for i in range(1,d+1):s3 = str(i)if i < 10:s3 = "0" + s3if cal(s1+s2+s3):ans2+=1
# 43个
print(ans2)
print(ans1+ans2)
# 3228

跑步

跑步

在这里插入图片描述

思路分析:通过模拟循环暴力即可,不过得学会怎么求解当天是否是周末

from datetime import  datetime
from datetime import timedelta
# 还是暴力求解,不过得知道哪几天是周六与周日
# 就得使用到这个datetime
day = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
# 31天的月份有1,3,5,7,8,10,12
# 还是得遍历
ans2 = 0
for m in range(1,13):d = day[m]for i in range(1,d+1):start1 = datetime(2022,1,1)t1 = datetime(2022,m,i) - start1da = t1.days# 分别是周六和周日if da % 7 == 0 or da % 7 == 1:ans2+=1continue# 当不满足周末的情况下if  i in {1,11,21,31}:ans2+=1
print(ans2)
# 138

位运算

3个1

在这里插入图片描述

思路分析:学会统计一个十进制数中转化为二进制的形式里面1的个数


# 直接暴力求解
# 位运算要学会移位运算
# 统计num二进制里面的1的个数
def cal1(num):count = 0while num > 0 :# 首先判断最低位是否是1if num & 1 == 1:count += 1# 右移操作,看看其他位的情况num = num >> 1return count == 3cou = 0
t = 1
while True:if cal1(t):cou+=1if cou == 23:print(t)breakt+=1

美丽的2024

美丽的2024

在这里插入图片描述

思路分析:直接照搬上一题的cal1函数

# 直接暴力求解
# 位运算要学会移位运算
# 统计num二进制里面的1的个数
def cal1(num):count = 0while num > 0 :# 首先判断最低位是否是1if num & 1 == 1:count += 1# 右移操作,看看其他位的情况num = num >> 1return countprint(cal1(2024))
# 7

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

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

相关文章

Java进阶——反射机制超全详解

反射能在运行时动态操作类和对象的能力&#xff0c;极大地增强了程序的灵活性。但是反射的使用也伴随着性能开销和安全风险。本文将由博主带你一起深入探讨 Java 反射的核心概念、关键类和方法&#xff0c;以及在日常开发中的应用场景。 本文目录 一、反射的核心概念1. 运行时类…

OAK相机的抗震性测试

在工业环境中&#xff0c;双目视觉相机必须具备与工作环境同等的坚固性。鉴于部分客户会将我们的相机应用于恶劣环境&#xff08;例如安装在重型机械上&#xff09;&#xff0c;我们依据EN 60068-2-6:2008标准对相机进行了振动耐受性测试。 测试涉及的相机型号包括&#xff1a…

Express MVC

1. 安装依赖 npm init -y npm install express npm install --save-dev typescript ts-node ejs types/node types/express tsc --init 2. 项目目录结构如下&#xff0c;没有的手动创建 /my-app/src/modelsuser.ts/viewsindex.ejsuserList.ejs/controllersuserController.ts…

apache-maven-3.2.1

MAVEN_HOME D:\apache-maven-3.2.1 PATH D:\apache-maven-3.2.1\bin cmd mvn -v <localRepository>d:\localRepository</localRepository> setting.xml <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Soft…

合并两个有序链表:递归与迭代的实现分析

合并两个有序链表&#xff1a;递归与迭代的实现分析 在算法与数据结构的世界里&#xff0c;链表作为一种基本的数据结构&#xff0c;经常被用来解决各种问题。特别是对于有序链表的合并&#xff0c;既是经典面试题&#xff0c;也是提高编程能力的重要练习之一。合并两个有序链…

破解密码防线:渗透测试中的密码攻击手法汇总

密码是网络安全中的一道重要防线&#xff0c;然而&#xff0c;若密码策略不严密&#xff0c;往往会为攻击者提供可乘之机。本文将简要介绍渗透测试中关于密码的几种常见攻击思路和手法。 1. 确认使用默认及常见的账号密码 在渗透测试的初期&#xff0c;攻击者通常会尝试使用系…

CSS Selectors

当然&#xff0c;理解纯CSS选择器&#xff08;CSS Selectors&#xff09;对于进行UI自动化测试非常重要。CSS选择器允许您通过元素的属性、层级关系、类名、ID等来精准定位页面上的元素。下面我将详细讲解CSS选择器的常见用法&#xff0c;并结合您的需求提供具体的示例。 1. 基…

【java】@Transactional导致@DS注解切换数据源失效

最近业务中出现了多商户多租户的逻辑&#xff0c;所以需要分库&#xff0c;项目框架使用了mybatisplus所以我们自然而然的选择了同是baomidou开发的dynamic.datasource来实现多数据源的切换。在使用初期程序运行都很好&#xff0c;但之后发现在调用com.baomidou.mybatisplus.ex…

浅入浅出Selenium DevTools

前言 在自动化测试领域&#xff0c;Selenium一直是主流工具之一。随着前端技术的不断发展&#xff0c;浏览器的功能也在不断丰富。 Selenium 3版本前&#xff0c;一套通用的采集流程如上图所示&#xff1a; 打开Charles&#xff0c;设置Session自动导出频次及导出路径Seleniu…

04 路由表的IP分组传输过程

目录 1、路由表的核心结构 2、IP分组传输过程和数据包转发过程 2.1、IP分组传输过程 2.2、数据包转发过程 2.3、IP分组传输过程和数据包转发的区别 3、数据包的变化 3.1、拓扑结构 3.2、传输过程详解&#xff08;主机A → 主机B&#xff09; 3.2.1、主机A发送数据 3.2…

【子网掩码计算器:Python + Tkinter 实现】

子网掩码计算器&#xff1a;Python Tkinter 实现 引言代码功能概述代码实现思路1. 界面设计2. 功能实现3. 事件处理 子网掩码计算器实现步骤1. 导入必要的库2. 定义主窗口类 SubnetCalculatorApp3. 创建菜单栏4. 创建界面组件5. 判断 IP 地址类别6. 计算子网信息7. 其他功能函…

【练习】【贪心】力扣1005. K 次取反后最大化的数组和

题目 1005 K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可…

3dsmax中使用python创建PBR材质并挂接贴图

前言 笔者处理模型时下载到一个pbr材质库贴图包&#xff0c;手动每次创建材质过于麻烦&#xff0c;因此计划使用自动化脚本根据贴图名自动创建材质。 3dsmax的原本脚本使用的是maxscript&#xff0c;语法有点奇怪懒得学&#xff0c;发现也支持使用python编写脚本&#…

Metal学习笔记九:光照基础

光和阴影是使场景流行的重要要求。通过一些着色器艺术&#xff0c;您可以突出重要的对象、描述天气和一天中的时间并设置场景的气氛。即使您的场景由卡通对象组成&#xff0c;如果您没有正确地照亮它们&#xff0c;场景也会变得平淡无奇。 最简单的光照方法之一是 Phong 反射模…

JAVA学习笔记038——bean的概念和常见注解标注

什么是bean? Bean 就是 被 Spring 管理的对象&#xff0c;就像工厂流水线上生产的“标准产品”。这些对象不是你自己 new 出来的&#xff0c;而是由 Spring 容器&#xff08;一个超级工厂&#xff09;帮你创建、组装、管理。 由 Component、Service、Controller 等注解标记的…

start DL from stratch (2)!!!

start DL from stratch &#xff08;2&#xff09;!!! 一、CPU and GPUcpuGPU安培架构爱达洛夫莱斯架构 二、使用conda创建一个新的虚拟环境三、autodl操作先知Linux复习目录文件和数据上传对于整个镜像的操作守护进程Tips 四、autodl租用创建实例<big>没有所需要的版本的…

机器学习:线性回归,梯度下降

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式

论文笔记-NeurIPS2017-DropoutNet

论文笔记-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems DropoutNet&#xff1a;解决推荐系统中的冷启动问题摘要1.引言2.前言3.方法3.1模型架构3.2冷启动训练3.3推荐 4.实验4.1实验设置4.2在CiteULike上的实验结果4.2.1 Dropout率的影响4.2.2 实验结…

nvm的学习

学习 nvm&#xff08;Node Version Manager&#xff09; 是掌握 Node.js 开发的关键技能之一。以下是系统的学习路径和实战指南&#xff0c;涵盖从基础到进阶的内容&#xff1a; 一、基础入门 1. nvm 的核心作用 多版本共存&#xff1a;安装和管理多个 Node.js 版本&#xff…

GPT-4.5实际性能评测:实际探索

摘要 经过数万轮严格测试&#xff0c;GPT-4.5的性能并未超越其前代产品GPT-4。此前发布的《GPT-4.5 一手实测&#xff1a;垃圾》一文中存在不准确描述&#xff0c;在此向读者致歉。尽管GPT-4.5在价格上有所提升且响应速度较慢&#xff0c;但测试结果显示其模型素质并未达到预期…