演算法實驗手冊1.1
猴子吃棗
問提描述:
小猴第一天摘下若干棗子,當即吃掉了一半,不過癮又多吃了一個;第二天吃了剩下的一半又多吃了一個;以後每一天都吃了前一天剩下的一半多一個。到第十天小猴再想吃時,見到只剩下一隻棗子了。試設計一個遞迴演算法計算第一天這堆棗子有多少?
演算法設計:
根據問題描述,用遞迴法計算第一天這堆棗子的個數。
資料輸入:
無。
結果輸出:
在螢幕上輸出第一天這堆棗子的個數。
#include<iostream> using namespace std; int monkey(int n) { if (n == 1) return 4; else return (monkey(n - 1) + 1) * 2; } int main() { int n; cin >> n; cout<<monkey(n); getchar(); getchar(); }
相關推薦
演算法實驗手冊1.2
三齒輪問題問題描述:三個齒輪齧合。如圖在齒輪箱裡三個齒輪互相銜接,某瞬間兩對齒相遇,設計一個演算法求出,各齒輪各轉多少圈後,這兩對齒同時重逢。如圖示。(說明:用a,b,c分別表示三個齒輪的齒數。)演算法設計:給定三個齒輪的齒數a,b,c(a,b,c是大小不等的正整數),計算出
演算法實驗手冊1.1
猴子吃棗問提描述:小猴第一天摘下若干棗子,當即吃掉了一半,不過癮又多吃了一個;第二天吃了剩下的一半又多吃了一個;以後每一天都吃了前一天剩下的一半多一個。到第十天小猴再想吃時,見到只剩下一隻棗子了。試設計一個遞迴演算法計算第一天這堆棗子有多少?演算法設計:根據問題描述,用遞迴法
演算法實驗1《分治演算法實驗》
1.編寫一個簡單的程式,實現歸併排序。 #include<iostream> using namespace std; void merge(int list[],int left,
演算法實驗題1.2:連續整數和問題
問題描述:大部分的正整數可以表示為2個以上的連續整數之和。如6=1+2+3,9=5+4=2+3+4。 實驗任務:連續整數和問題要求計算給定的正整數可以表示為多少個2以上連續整數之和。 資料輸入:由檔案
linux實驗-基本指令1
及其 重定向 unix2dos 要求 func 帳號登錄 定向 設置密碼 dir 1、root帳號登錄,查看/tmp目錄,如果/tmp目錄下沒有子目錄myshare,則建立該目錄。 2、創建帳號testuser。 3、把myshare目錄及其目錄下的所有文件和子目錄的擁有者
動態規劃之鋼條切割問題,《演算法導論》15.1
動態規劃(dynamic programming),是一種解決問題的方法,它的思路是將大問題分解為子問題,然後合併子問題的解。與分治法將問題分解為彼此獨立的子問題不同,動態規劃應用於子問題相互重疊的情況。為了避免這些重疊部分(即子子問題)被重複計算,動態規劃演算法對每個子子問題只計算一次,並記錄在一個表
《演算法導論》13.1習題
前三題考察對紅黑樹5條性質的理解,比較簡單。4-7題很有啟發性。 13.1-4 可以把從樹根到葉子的路徑想象成一根枝條,按照紅黑樹屬性5的要求,當完全收縮時,每根枝條上黑色節點數目是相同的,當完全伸展開時,會從兩個黑色節點之間抽出一個紅色節點。 這種設計的妙處是,對同一個根下的兩根枝條a,b(a長於
演算法設計題練習1
演算法設計題練習1 例1:n+1各不同的整數(a1,a2,a3,…an,m),假設有一個亂序的整數序列,其中(a1,a2,a3,a4,…,an均出現兩次,m出現一次),需要找出出現一次的m。 #功能實現 num=[1,1,2,2,3,3,4,5,4,5,6,7,7,6,8,9,9,8
系統自帶Python2.7安裝演算法包setuptools-40.1.1.zip
租戶業務需求安裝setuptools-40.1.1.zip 1、上傳setuptools-40.1.1.zip包 2、解壓 # unzip setuptools-40.1.1.zip 3、安裝 # cd setuptools-40.1.1/ # python setup.py insta
資料庫實驗課堂作業-1.5資料控制
資料庫實驗課堂作業 1.5資料控制 實驗內容: (1)使用GRANT語句對使用者授權,對單個使用者和多個使用者授權,或使用保留字PUBLIC對所有使用者授權。對不同操作物件包括資料庫,檢視,基本 表等進行不同許可權的授權。 (2)使用WITH GRA
資料庫實驗課堂作業-1.4檢視
資料庫實驗課堂作業 1.4檢視 1.內容: (1):定義常見的檢視形式,包括: *行列子集檢視。 *WITH CHECK OPTON 的檢視。 *基於多個基表的檢視。 *基於多個檢視的檢視。 *帶表示式的檢視。 *分組檢視。 (2):通過實驗考察
資料庫實驗課堂作業-1.2資料查詢
資料庫實驗課堂實驗 1.2資料查詢 內容: 1).單表查詢 :查詢的目標表達式為所有列,指定列或指定列的運算。 :使用DISTINCT保留字消除重複性。 :對查詢結果排序和分組。 :集合分組使用集函式進行各項統計。 2).連線查詢 :笛卡爾積連線和等
資料庫實驗課堂作業-1.1資料定義
資料庫實驗課堂作業 1.1資料定義 內容: (1).使用CREATE語句建立基本表。 (2).更改基本表的定義,增加列,刪除列,修改列的資料型別。 (3).建立表的升降序索引。 (4).取消表,表的索引或表的約束。 程式碼: create
實驗目的: 1、理解使用者與模式的概念,掌握oracle中使用者管理的基本方法 2、理解系統許可權、物件許可權的概念,掌握分配許可權的方法 3、理解角色的概念,掌握角色的應用方法 實驗內容: 一、使用者
撰寫人——軟體二班——陳喜平 一、使用者管理與應用 1、檢視使用者與模式 show USER; 2、建立使用者 sqlplus sys/[email protected] as sysdba CREATE USER t16436220 IDENTIFIED B
atitit 解決教學記憶問題 壓縮演算法原理 哈夫曼 LZ77 gzip zlib deflate演算法.docx 目錄 1. 壓縮理論 1 1.1. 柯氏複雜性 1 2. 1 RLE 1
atitit 解決教學記憶問題 壓縮演算法原理 哈夫曼 LZ77 gzip zlib deflate演算法.docx 目錄 1. 壓縮理論 1 1.1. 柯氏複雜性
Problem B: 零起點學演算法92——元素前移1位
#include<stdio.h> int main() { int n,a[20],b[20]; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) {
python函式手冊(1)
copy copy.copy(x) Return a shallow copy of x. copy.deepcopy(x) Return a deep copy of x. 深複製和淺複製的區別: A shallow copy constructs a new
#006# 快速排序 × 演算法導論(第三版)練習 7.1-1 ~ 7.1-4
快排採用經典的分治思想,具體如下↓ 分解:快排的核心步驟,其結果是陣列被分成以某個數為基準的左右兩個子陣列(可能為空),其中左邊的數都小於該基準數,右邊的數都大於該基準數。詳細步驟包括計算基準數下標,以及移動陣列內元素。 解決:通過遞迴呼叫快速排序,對兩個子陣列進行排序。 合併:因為是原址排序,快速排序
貪心演算法之 6*6,5*5,4*4,3*3,2*2,1*1分包裹問題
題目描述 一個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為11, 22, 33, 44, 55, 66。這些產品通常使用一個 66h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需
演算法導論(第三版)練習 10.1-1 ~ 10.1-7 兩個棧實現佇列 兩個佇列實現棧
棧與佇列js實現版本: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title>