藍橋杯 之 填空題-位運算與循環

文章目錄

  • 循環
    • 握手問題
    • 門牌制作-循環
    • 小球反彈
    • 幸運數
    • 藝術與籃球
    • 跑步
  • 位運算
    • 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.pswp.cn/news/896660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896660.shtml
英文地址,請注明出處:http://en.pswp.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;但測試結果顯示其模型素質并未達到預期…