藍橋杯基礎算法-遞歸

代碼簡潔,但涉及到的運算,會隨著遞歸層數的增加成指數級增長

路分析:第20行20列位于45度這條線上

這條線上的數字是1 5 13 25 41...兩數之差:4 8 12 16

--->每一個都是在前面的基礎上+4,可以用遞歸或者循環

public class demo1{public static void main(String[] args){System.out.println(snack(20));}public static int snack(int n){if(n==1){return 1;}return snack(n-1)+4*(n-1);}
}

遞歸與循環的關系?

一道題,可以用遞歸解答。

1.可以換成循環解決嗎-->可以-->代碼量變多,運算資源(時間復雜度)

2.若發現題目用遞歸運行時間超出限制-->換循環 && 加字典(即動態規劃)

--->加字典eg:

斐波那契數列:fn(5)=fn(4)+fn(3) fn(4)=fn(3)+fn(2)[將fn(3)和fn(2)存起來] fn(3)可以直接得出

輾轉相除法:求最大公約數

1.兩個整數的最大公約數等于其中較小的數和兩數相除余數的最大公約數(gcd)

2.gcd(a,b)=gcd(b,a%b) (前提:a>b); 當b的值為0時,a就是要求的最大公約數

eg:

12&4=4&0=4

10&7=7&3=3&1=1&0=1

輸入兩個數,求最小公約數

法1:循環解法

public class demo2{public static void main(String[] args){//a>b  gcd(a,b)=gcd(b,a%b)int a=scan.nextInt();int b=scan.nextInt();while(b!=0){int c=a%b;a=b;b=c;}System.out.println(a);}
}

法2:遞歸解法

public class demo3{public static void main(String[] args){Scanner scanner=new Scanner(System.in);int a=scanner.nextInt();int b=scanner.nextInt();int zz=zz(a,b);System.out.println(zz);}public static int zz(int a,int b){if(b==0){return a;}int c=a%b;return zz(b,c);}
}

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

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

相關文章

通過學習opencv圖像庫編程借助第三方庫函數完成一個綜合程序設計

通過學習opencv圖像庫編程借助第三方庫函數完成一個綜合程序設計 1) 編譯命令解釋: 編譯命令: gcc test1.cpp -o test1 pkg-config --cflags --libs opencv這條命令包含了以下部分: gcc test1.cpp -o test1: gcc 是 GNU 編譯器集合&#…

第十四屆藍橋杯大賽軟件賽國賽C/C++研究生組

研究生C國賽軟件大賽 題一:混乘數字題二:釘板上的正方形題三:整數變換題四:躲炮彈題五:最大區間 題一:混乘數字 有一點像哈希表: 首先定義兩個數組,拆分ab和n 然后令n a*b 查看兩個…

系統與網絡安全------網絡通信原理(2)

資料整理于網絡資料、書本資料、AI,僅供個人學習參考。 物理層解析 物理層概述 物理層是TCP/IP模型的最底層物理層數據傳輸提供穩定的物理連接 物理層功能 定義設備的物理連接的標準和特性,比如接口形狀,大小定義電氣特性,高低…

內容中臺的數字化管理核心是什么?

數字化整合與系統協同 現代企業的內容管理正經歷從分散式架構向數字化整合的范式轉變。通過將內容管理系統與文檔管理技術深度耦合,組織能夠打破數據孤島,實現跨部門、跨平臺的資源互通。例如,基于元數據分類的標準化體系,不僅提…

Python爬蟲第二戰(使用xpath爬取網站數據)

本文是我在學習過程中記錄學習的點點滴滴,目的是為了學完之后鞏固一下順便也和大家分享一下,日后忘記了也可以方便快速的復習。 使用xpath爬取豬八戒網站數據 前言 前言 今天學習的主要是關于Python使用xpath來爬取豬八戒網的網頁知識的理解和應用 #1.獲…

進程同步和進程互斥的區別

如大家所了解的,進程互斥是由互斥資源引起的,即各進程之間共享互斥資源的使用權,這種競爭沒有確定的必然聯系,哪個進程競爭到互斥資源的使用權,則該資源就歸哪個進程使用,從而獲得所需資源的進程就可以獲得…

ArkTS語言基礎之函數

前言 臭寶們終于來到了ArkTS基礎之函數,今天我們來學習一下ArkTS的函數的相關知識,上一節中也有一些函數的基礎知識。 函數聲明 函數聲明引入一個函數,包含其名稱、參數列表、返回類型和函數體,在下面的例子中,我們聲明了一個名…

redis中的hash

Redis中的hash是什么 Hash: 哈希,也叫散列,是一種通過哈希函數將鍵映射到表中位置的數據結構,哈希函數是關鍵,它把鍵轉換成索引。 Redis Hash(散列表)是一種 field-value pairs(鍵值對&#x…

彈簧質點系統(C++實現)

本文實現一個簡單的物理算法:彈簧質點系統(Mass-Spring System)。這是一個經典的物理模擬算法,常用于模擬彈性物體(如布料、彈簧等)的行為。我們將使用C來實現這個算法,并結合鏈表數據結構來管理…

領域大模型

領域技術標準文檔或領域相關數據是領域模型Continue PreTrain的關鍵。 現有大模型在預訓練過程中都會加入書籍、論文等數據,那么在領域預訓練時這兩種數據其實也是必不可少的,主要是因為這些數據的數據質量較高、領域強相關、知識覆蓋率(密度…

Wincc項目被鎖定無法打開

Wincc項目被鎖定無法打開 解決方法 解決方法 一般這種情況是因為項目打開的時候直接關機導致的。 刪除項目文件夾的ProjectOpened.lck的文件夾即可 然后即可正常打開項目

SpringBoot3筆記

簡介: springboot整合了springframework,整合了許多配置,讓我們能夠快速創建一個以springframework為基礎的項目。 問題: 到目前為止,你已經學習了多種配置Spring程序的方式。但是無論使用XML、注解、Java配置類還是…

DeepSeek和文心一言的區別

文章目錄 1.開發公司:2.應用場景:3.訓練數據:4.模型架構:5.技術特點:6.語言風格:7.開源性:8.界面與用戶體驗: 1.開發公司: DeepSeek 由杭州深度求索人工智能基礎技術研究…

Windows 10 安裝Mysql 8

安裝準備 下載 MySQL Windows ZIP版(無安裝程序): 進入官網:https://dev.mysql.com/downloads/mysql/ 選擇 Windows → 下載 ZIP Archive,例如: mysql-8.0.34-winx64.zip 如果你的電腦沒有安裝 VC Redi…

ARM分揀機vs傳統PLC:實測數據揭示的4倍效率差

在蘇州某新能源汽車零部件倉庫,凌晨3點的分揀線上依然燈火通明。8臺搭載ARM Cortex-A72處理器的智能分揀機正在以每秒3件的速度處理著形狀各異的電池包組件,它們通過MES系統接收訂單信息,自主規劃最優路徑,將不同規格的零部件精準…

使用python訪問mindie部署的vl多模態模型

說明 今天使用mindie1.0部署了qwen2_7b_vl模型,測試過程出現一些問題,這里總結下。 問題1:transformers版本太低 報錯信息: [ERROR] [model_deploy_config.cpp:159] Failed to get vocab size from tokenizer wrapper with ex…

vscode 跳轉失敗之c_cpp_properties.json解析

{"configurations": [{"name": "Linux", // 配置名稱,對應當前平臺,VS Code 中可選"includePath": ["${workspaceFolder}/**", // 包含當前工作區下所有文件夾的頭文件(遞歸&…

飛速(FS)解決方案驗證實驗室搬遷升級,賦能客戶技術服務

飛速(FS)解決方案驗證實驗室近日順利完成搬遷升級,標志著飛速(FS)在解決方案可行性驗證、質量保障以及定制化需求支持方面邁上新臺階,進一步提升了產品競爭力和客戶信任度。 全新升級的實驗室定位為技術驗證…

安裝kerberos認證的cdh環境

1、服務端安裝 1.1 安裝wget yum -y install wget 由于本地已安裝過wget,所以顯示Nothing to do 1.2 進入 home 目錄 cd /home 1.3 下載centos6.7.iso文件,并掛載 wget https://archive.kernel.org/centos-vault/6.7/isos/x86_64/CentOS-6.7-x86_64…

MySQL基礎 [六] - 內置函數+復合查詢+表的內連和外連

內置函數一般要用select調用 內置函數 日期函數 current_date函數 current_date函數用于獲取當前的日期。如下: current_time函數 current_time函數用于獲取當前的時間。如下: now函數 now函數用于獲取當前的日期時間。如下: date函數 dat…