【藍橋杯】3月27日筆記

1.暴力枚舉

給定一個正整數n,請找出所有滿足a2 + b2 = n的整數對(a, b),其中a和b都是正整數,且a ≤ b。

輸入格式:一個正整數n (1 ≤ n ≤ 10?)
輸出格式:所有符合條件的(a, b)對,每行一對,按a的升序排列。如果沒有符合條件的對,輸出"No solution"。

問題分析:我們需要找到所有滿足a2 + b2 = n的正整數對(a, b),其中a ≤ b。

枚舉策略:由于a和b都是正整數且a ≤ b,a的最大可能值是√(n/2),因為如果a > √(n/2),那么a2 > n/2,b2 = n - a2 < n/2 < a2,這將導致b < a,與a ≤ b矛盾。

算法選擇:采用枚舉算法,遍歷a的所有可能取值,對于每個a,計算b2 = n - a2,然后檢查b是否為整數。

優化:在枚舉a時,只需要枚舉到√(n/2)即可,減少不必要的計算。

import mathdef find_num(n):result=[]max_a=math.isqrt(n//2)  #計算n//2的整數平方根for a in range(1,max_a+1):remainder=n-a*ab=math.isqrt(remainder)if b*b==remainder and b>=a:result.append((a,b))return resultn=int(input("請輸入一個整數:"))
pairs=find_num(n)if not pairs:print("No solution")
else:for a,b in pairs:print(a,b)
input()

input()會讀取用戶輸入的內容,并將其作為字符串返回。

例如,當用戶在控制臺輸入?3 1 4 1 5?并按下回車鍵,input()?就會返回字符串?"3 1 4 1 5"

2.快速排序

def quick_sort(arr):if len(arr)<=1:return arrelse:mid=arr[0]left=[x for x in arr[1:] if x<=mid]right=[x for x in arr[1:] if x>mid]return quick_sort(left)+[mid]+quick_sort(right)arr=list(map(int,input().split()))sorted_arr=quick_sort(arr)print(" ".join(map(str,sorted_arr)))
input().split()

split()?會將一個字符串按照指定的分隔符(如果不指定分隔符,默認使用如空格作為分隔符)分割成多個子字符串,并返回一個包含這些子字符串的列表

input().split()?會把用戶輸入的字符串按空格分割成多個子字符串。

以上面的輸入?"3 1 4 1 5"?為例,input().split()?會返回?['3', '1', '4', '1', '5'],注意這里列表中的元素仍然是字符串類型。

map(int, input().split())

map()?接收兩個參數:一個函數和一個可迭代對象(如列表、元組等)。

map()?函數會將傳入的函數應用到可迭代對象的每個元素上,并返回一個迭代器,這個迭代器中的元素是原可迭代對象元素經過函數處理后的結果。

list(map(int, input().split()))

list()?是 Python 的內置函數,用于將一個可迭代對象轉換為列表。

Python 列表推導式(List Comprehension)?

列表推導式是一種簡潔的創建列表的方式,它允許你在一行代碼中生成一個新的列表。

[expression for item in iterable if condition]
left = [x for x in arr[1:] if x <= pivot]
" ".join(map(str, sorted_arr))

join()?是字符串對象的一個方法,它的作用是將一個可迭代對象中的元素連接成一個字符串。調用該方法的空格字符串" "?會作為連接這些元素的分隔符。

3.歸并排序

def merge(left, right):result = [] i = j = 0  while i < len(left) and j < len(right):if left[i] < right[j]:result.append(left[i]) i = i + 1  else:result.append(right[j])  j = j + 1  while i < len(left):result.append(left[i])i = i + 1while j < len(right):result.append(right[j])j = j + 1return resultdef merge_sort(arr):if len(arr) <= 1:return arrmid = len(arr) // 2left = merge_sort(arr[:mid])right = merge_sort(arr[mid:])return merge(left, right)weights = list(map(int, input().split()))sorted_weights = merge_sort(weights)print(" ".join(map(str, sorted_weights)))

4.桶排序

input_str = input()# 初始化桶
buckets = [0] * 26for char in input_str:# 計算字符對應的桶索引index = ord(char) - ord('a')buckets[index] += 1# 遍歷 26 個桶
for i in range(26):# 如果桶中的計數不為 0,說明該字符出現過if buckets[i] > 0:# 根據索引計算對應的字符char = chr(i + ord('a'))# 輸出字符及其出現次數print(f"{char}: {buckets[i]}")

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73643.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73643.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73643.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

H3CNE綜合小實驗之電視機

H3CNE綜合小實驗之電視機 一、實驗拓撲圖 二、實驗要求 按照圖示配置IP地址&#xff1b;按照圖示區域劃分配置對應的動態路由協議&#xff1b;在R7上配置dhcp服務器&#xff0c;能夠讓pc可以獲取IP地址&#xff1b;將所有環回?宣告進ospf中&#xff0c;將環回?7宣告進rip中…

Axios企業級封裝實戰:從攔截器到安全策略!!!

&#x1f680; Axios企業級封裝實戰&#xff1a;從攔截器到安全策略 &#x1f527; 核心代碼解析 // 創建Axios實例 const service axios.create({baseURL: api, // &#x1f310; 全局API前綴timeout: 0, // ? 永不超時&#xff08;慎用&#xff01;&#xff09;withCrede…

Kafka 的延遲隊列、死信隊列和重試隊列

總結一下實現的方法&#xff1a; 1、延遲隊列&#xff0c;首先kafka是沒有延遲隊列的&#xff0c;那要實現延遲隊列的話&#xff0c;就得使用其他方法。在發送消息的時候加上時間戳&#xff0c;再在時間戳上面加上延遲時間。消費的時候判斷一下&#xff0c;有沒有到達延遲時間&…

DCAT模型:雙交叉注意力革新醫學影像診斷,AUC 99.75%

一、研究背景&#xff1a;醫學影像診斷的挑戰 在醫學影像領域&#xff08;如X光、OCT&#xff09;&#xff0c;精準分類疾病直接影響患者治療決策。傳統深度學習模型存在兩大痛點&#xff1a; 1.過度自信&#xff1a;即使圖像模糊或存在噪聲&#xff0c;模型仍可能給出高…

2.2.2 Spark單機版環境

本文介紹了如何搭建和使用Spark單機版環境。首先&#xff0c;確保安裝配置好JDK&#xff0c;然后從群共享下載Spark安裝包并上傳至云主機的/opt目錄。接著&#xff0c;解壓到/usr/local目錄并配置環境變量&#xff0c;通過spark-submit --version驗證安裝成功。在使用Spark單機…

AI音樂的革命:邁向格萊美級別的藝術表現力

摘要 近期&#xff0c;AI技術在音樂領域的突破性進展令人矚目。這項新技術賦予了AI格萊美級別的歌唱能力&#xff0c;使其不僅能夠進行寫作和繪畫創作&#xff0c;還能以接近人類的藝術表現力演繹音樂作品。這一成就標志著AI在藝術領域的技術進步達到了新的高度&#xff0c;為…

SAP消息號類型(E/I/W)的定制

比如這樣的M8088的標準的消息號&#xff0c;希望變更消息類型&#xff0c;查詢之后&#xff0c;網上提供的消息&#xff0c;都是SE91,OMRM&#xff0c;OBA5之類的消息。事實上&#xff0c;SE91是不能變更消息類型的。 而在OMRM界面&#xff0c;只看到有限的幾個消息號。 原來&a…

wazuh安全管理工具

Wazuh 通過監控操作系統和應用程序層面的終端設備&#xff0c;增強您基礎設施的安全可見性。其核心功能涵蓋日志分析、文件完整性監控、入侵檢測以及合規性監控。 一、介紹 1. 核心功能 1.1 主機入侵檢測&#xff08;HIDS&#xff09; 文件完整性監控&#xff08;FIM&#…

SAP-ABAP:OData 協議深度解析:架構、實踐與最佳應用

OData 協議深度解析:架構、實踐與最佳應用 一、協議基礎與核心特性 協議定義與目標 定位:基于REST的開放數據協議,標準化數據訪問接口,由OASIS組織維護,最新版本為OData v4.01。設計哲學:通過統一資源標識符(URI)和HTTP方法抽象數據操作,降低異構系統集成復雜度。核心…

MATLAB 控制系統設計與仿真 - 29

用極點配置設計伺服系統 方法1-前饋修正 對于一個可控的系統&#xff0c;我們知道可以用極點配置來得到系統的動態響應指標&#xff0c;但是系統有時會存在較大的靜態誤差。 例如&#xff1a; 系統的狀態矩陣如下&#xff0c;試求取其階躍響應。 MATLAB 代碼如下&#xff1…

編譯原理——自底向上語法優先分析

文章目錄 自底向上優先分析概述一、自底向上優先分析概述二、簡單優先分析法&#xff08;一&#xff09;優先關系定義&#xff08;二&#xff09;簡單優先文法的定義&#xff08;三&#xff09;簡單優先分析法的操作步驟 三、算法優先分析法&#xff08;一&#xff09;直觀算符…

Opencv計算機視覺編程攻略-第四節 圖直方圖統計像素

Opencv計算機視覺編程攻略-第四節 圖直方圖統計像素 1.計算圖像直方圖2.基于查找表修改圖像3.直方圖均衡化4.直方圖反向投影進行內容查找5.用均值平移法查找目標6.比較直方圖搜索相似圖像7.用積分圖統計圖像 1.計算圖像直方圖 圖像統計直方圖的概念 圖像統計直方圖是一種用于描…

5、vim編輯和shell編程【超詳細】

一、vim 1、了解 Vim (Vi IMproved) 是一款功能強大的文本編輯器。 正常模式&#xff1a;vim 文件&#xff0c;剛打開的樣子vim模式&#xff1a;輸入文本的地方命令模式&#xff1a;輸入 :wq等等的位置&#xff0c;可以對文本進行一些操作&#xff0c;比如&#xff1a;保存文…

《Robust Synthetic-to-Real Transfer for Stereo Matching》

論文地址&#xff1a;https://arxiv.org/pdf/2403.07705 源碼地址&#xff1a;https://github.com/jiaw-z/DKT-Stereo 概述 通過在合成數據上預訓練的模型在未見領域上表現出強大的魯棒性。然而&#xff0c;在現實世界場景中對這些模型進行微調時&#xff0c;其領域泛化能力可…

藍橋杯第10屆 后綴表達式

題目描述 給定 N 個加號、M 個減號以及 NM1 個整數 A1,A2,???,ANM1?&#xff0c;小明想知道在所有由這N 個加號、M 個減號以及 NM1 個整數湊出的合法的 后綴表達式中&#xff0c;結果最大的是哪一個&#xff1f; 請你輸出這個最大的結果。 例如使用 1 2 3 -&#xff0c…

C++前綴和

個人主頁&#xff1a;[PingdiGuo_guo] 收錄專欄&#xff1a;[C干貨專欄] 大家好&#xff0c;今天我們來了解一下C的一個重要概念&#xff1a;前綴和 目錄 1.什么是前綴和 2.前綴和的用法 1.前綴和的定義 2.預處理前綴和數組 3.查詢區間和 4.數組中某個區間的和是否為特定…

uni app跨端開發遇到的問題

技術棧 uni app&#xff0c;vue3&#xff0c;uview puls&#xff0c;map… nvue 因為項目中有地圖&#xff0c;要使用到map標簽&#xff0c;所以考慮用原生nvue開發&#xff0c;它是有痛點的&#xff0c;首先瀏覽器不支持&#xff0c;我是要開發ios和Android&#xff0c;所以…

SQL注入操作

sql注入 一&#xff0c;SQL注入分類按照注入的網頁功能類型分類按照注入點值的屬性分類基于從服務器返回內容按照注入的程度和順序 一&#xff0c;SQL注入分類 按照注入的網頁功能類型分類 登錄注入cms注入 cms邏輯&#xff1a;index.php首頁展示內容&#xff0c;具有文章列表…

微信 MMTLS 協議詳解(五):加密實現

常用的解密算法&#xff0c;對稱非對稱 加密&#xff0c;密鑰協商&#xff0c; 帶消息認證的加解密 #生成RSA 密鑰對 void GenerateRsaKeypair(std::string& public_key,std::string& private_key) {RSA* rsa RSA_new();BIGNUM* bn BN_new();// 生成 RSA 密鑰對BN_s…

ROS melodic 安裝 python3 cv_bridge

有時候&#xff0c;我們需要處理這些兼容性問題。此處列舉我的過程&#xff0c;以供參考 mkdir -p my_ws_py39/src cd my_ws_py39 catkin_make_isolated-DPYTHON_EXECUTABLE/usr/bin/python3 \-DPYTHON_INCLUDE_DIR/usr/include/python3.8 \-DPYTHON_LIBRARY/usr/lib/x86_64-l…