n個(gè)元素{1,2,…,n}有n!個(gè)不同的排列。將這n!個(gè)排列按字典序排列,并編號(hào)為0,1,…,n!-1。每個(gè)排列的編號(hào)為其字典序值。 給定n以及n個(gè)元素{1,2,…,n}的一個(gè)排列,計(jì)算出這個(gè)排列的字典序值,以及按字典序排列的下一個(gè)排列。
標(biāo)簽: 元素
上傳時(shí)間: 2013-12-08
上傳用戶:hwl453472107
1.計(jì)算n至少多大時(shí),以下不等式成立。 1+1/2+1/3+……+1/n>10 2.請(qǐng)分別用break和continue語(yǔ)句判斷1-1000以內(nèi)的素?cái)?shù)個(gè)數(shù)。 3.編寫(xiě)一個(gè)程序找出100~1000之間的所有姐妹素?cái)?shù)。(注: 姐妹素?cái)?shù)是指相鄰兩個(gè)奇數(shù)均為素?cái)?shù)。)
標(biāo)簽: 計(jì)算
上傳時(shí)間: 2014-06-23
上傳用戶:z1191176801
Ex3-23 親兄弟問(wèn)題 « 問(wèn)題描述: 給定n 個(gè)整數(shù)0 1 1 , , , n- a a a 組成的序列。序列中元素i a 的親兄弟元素k a 定義為: min{ | } k i j n j j i a = a a ³ a < < 。 親兄弟問(wèn)題要求給定序列中每個(gè)元素的親兄弟元素的位置。元素i a 的親兄弟元素為k a 時(shí),稱k 為元素i a 的親兄弟元素的位置。當(dāng)元素i a 沒(méi)有親兄弟元素時(shí),約定其親兄弟元素 的位置為-1。 例如,當(dāng)n=10,整數(shù)序列為6,1,4,3,6,2,4,7,3,5 時(shí),相應(yīng)的親兄弟元素位 置序列為:4,2,4,4,7,6,7,-1,9,-1。 « 編程任務(wù): 對(duì)于給定的n個(gè)整數(shù)0 1 1 , , , n- a a a 組成的序列,試用抽象數(shù)據(jù)類(lèi)型棧,設(shè)計(jì)一個(gè)O(n) 時(shí)間算法,計(jì)算相應(yīng)的親兄弟元素位置序列。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行有1 個(gè)正整數(shù)n,表示給定給n個(gè)整數(shù)。 第2 行是0 1 1 , , , n- a a a 。 « 結(jié)果輸出: 程序運(yùn)行結(jié)束時(shí),將計(jì)算出的與給定序列相應(yīng)的親兄弟元素位置序列輸出到output.txt 中。 輸入文件示例 輸出文件示例 input.txt 10 4 2 4 4 7 6 7 -1 9 -1 output.txt 6 1 4 3 6 2 4 7 3 5
上傳時(shí)間: 2013-12-17
上傳用戶:shizhanincc
小程序應(yīng)有如下功能: 1、登記。登記每位同學(xué)的上網(wǎng)卡號(hào),押金(>=5 RMB)和上網(wǎng)時(shí)刻。 2、查詢。可以查詢每個(gè)上網(wǎng)卡號(hào)的上網(wǎng)時(shí)刻,上網(wǎng)的時(shí)間,押金和當(dāng)前的費(fèi)用。 3、結(jié)賬。根據(jù)卡號(hào)可以算出 應(yīng)收金額,應(yīng)找金額。 4、提醒。當(dāng)某個(gè)上網(wǎng)卡號(hào)的 上網(wǎng)費(fèi)用 >= 它的押金時(shí)應(yīng)提醒管理員。 5、續(xù)費(fèi)。當(dāng)某個(gè)上網(wǎng)卡號(hào)的 上網(wǎng)費(fèi)用 >= 它的押金,他可以再次交上一定金額的押金(>=5 RMB)。 6、修改費(fèi)率。上網(wǎng)的費(fèi)率應(yīng)可以調(diào)整。默認(rèn)的費(fèi)率是1 RMB /1小時(shí)。 為了不讓機(jī)房賠本,應(yīng)是這樣的收費(fèi)模式:先付錢(qián)后上網(wǎng)。如上機(jī)就五角, 以后過(guò)半小時(shí)收五角。 7、總賬。一天下來(lái)管理員要知道這天他賺了多少RMB。 你需要考慮程序被意外結(jié)束等特殊情況。 如果你的程序是按系統(tǒng)時(shí)間進(jìn)行計(jì)時(shí),還應(yīng)考慮系統(tǒng)時(shí)間被意外更改的特殊情況。總之,你應(yīng)考慮一切會(huì)讓你的程序不能正常運(yùn)行的特殊情況。 如果不知道怎么計(jì)時(shí),你可以學(xué)習(xí)參考使用<time.h>中函數(shù)。 說(shuō)明: a. 假定機(jī)房有150臺(tái)機(jī)器。 b. 假定初始的費(fèi)率是1 RMB /1分鐘(便于測(cè)試)。
上傳時(shí)間: 2016-06-27
上傳用戶:gut1234567
一、 實(shí)驗(yàn)?zāi)康模? (1) 熟練掌握鏈棧的基本操作及應(yīng)用。 (2) 利用鏈表作為棧的存儲(chǔ)結(jié)構(gòu),設(shè)計(jì)實(shí)現(xiàn)一個(gè)求解迷宮的非遞歸程序。 二、實(shí)驗(yàn)內(nèi)容: 【問(wèn)題描述】 以一個(gè)m×n的長(zhǎng)方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒(méi)有通路的結(jié)論。 【基本要求】 首先實(shí)現(xiàn)一個(gè)鏈表作存儲(chǔ)結(jié)構(gòu)的棧類(lèi)型,然后編寫(xiě)一個(gè)求解迷宮的非遞歸程序。求得的通路以三元組(i,j,d)的形式輸出,其中:(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向。如:對(duì)于下列數(shù)據(jù)的迷宮,輸出的一條通路為:(1,1,1),(1,2,2),(2,2,2),(3,2,3),(3,1,2),……。
標(biāo)簽: 棧 實(shí)驗(yàn) 基本操作 存儲(chǔ)結(jié)構(gòu)
上傳時(shí)間: 2013-12-16
上傳用戶:aix008
Euler函數(shù): m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n Euler函數(shù): 定義:phi(m) 表示小于等于m并且與m互質(zhì)的正整數(shù)的個(gè)數(shù)。 phi(m) = p1^(r1-1)*(p1-1) * p2^(r2-1)*(p2-1) * …… * pn^(rn-1)*(pn-1) = m*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pn) = p1^(r1-1)*p2^(r2-1)* …… * pn^(rn-1)*phi(p1*p2*……*pn) 定理:若(a , m) = 1 則有 a^phi(m) = 1 (mod m) 即a^phi(m) - 1 整出m 在實(shí)際代碼中可以用類(lèi)似素?cái)?shù)篩法求出 for (i = 1 i < MAXN i++) phi[i] = i for (i = 2 i < MAXN i++) if (phi[i] == i) { for (j = i j < MAXN j += i) { phi[j] /= i phi[j] *= i - 1 } } 容斥原理:定義phi(p) 為比p小的與p互素的數(shù)的個(gè)數(shù) 設(shè)n的素因子有p1, p2, p3, … pk 包含p1, p2…的個(gè)數(shù)為n/p1, n/p2… 包含p1*p2, p2*p3…的個(gè)數(shù)為n/(p1*p2)… phi(n) = n - sigm_[i = 1](n/pi) + sigm_[i!=j](n/(pi*pj)) - …… +- n/(p1*p2……pk) = n*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pk)
標(biāo)簽: Euler lt phi 函數(shù)
上傳時(shí)間: 2014-01-10
上傳用戶:wkchong
有n個(gè)選手 P 1 ,P 2 ,P 3 ,… ,P n 參加了的單循環(huán)賽,每對(duì)選手之間非勝即負(fù)。現(xiàn)要求求出一個(gè)選手序列 P 1 ,P 2 ,P 3 ,… ,P n , 使其滿足 P i 勝 P i+ 1 (i=1,… ,n-1) 。
標(biāo)簽: 循環(huán)
上傳時(shí)間: 2014-11-07
上傳用戶:caozhizhi
算法思路: 1.如果只有一個(gè)金片,則把該金片從源移動(dòng)到目標(biāo)棒,結(jié)束。 2.如果有n個(gè)金片,則把前n-1個(gè)金片移動(dòng)到輔助的棒,然后把自己移動(dòng)到目標(biāo)棒,最后再把前n-1個(gè)移動(dòng)到目標(biāo)棒. 3.單純對(duì)于有N個(gè)金片要挪動(dòng)的步數(shù)求出, 可以使用遞推方法,滿足遞推方程f(i) = f(i - 1) * 2 + 1
標(biāo)簽: 算法
上傳時(shí)間: 2017-03-04
上傳用戶:leehom61
(2)、24點(diǎn)游戲: 基本要求及步驟: 1) 隨機(jī)產(chǎn)生四個(gè)1-13的數(shù),分別代表13張牌。 2) 提示玩家輸入算式。 3) 判斷玩家輸入的表達(dá)式是否合法,其中算式中的四個(gè)數(shù)字只能是程序所給的四個(gè)數(shù)字,非法則回到1)。 4) 如果玩家認(rèn)為這四張牌算不出24點(diǎn)(如:1,1,1,1),可只輸入?,程序?qū)⑴袛噙@四張牌是否能得出24點(diǎn),如果能,則程序?qū)⒔o出算式,如果不能,說(shuō)明不能,并回到1)。 5) 當(dāng)用戶正確輸入算式后,用“堆棧來(lái)求表達(dá)式的值”的原理 求出結(jié)果并判斷是否為24,得出用戶是輸是贏的結(jié)果。 6) 詢問(wèn)用戶是否繼續(xù),是則回到1),否則結(jié)束程序。
上傳時(shí)間: 2017-03-24
上傳用戶:chens000
利用MATLAB編寫(xiě)了GM(1,1)預(yù)測(cè)模型的程序,方便人們直接使用該程序進(jìn)行預(yù)測(cè)。
上傳時(shí)間: 2013-12-23
上傳用戶:tedo811
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1