給定一個正整數 n,計算有多少個不同的連續自然數段,其和恰為 n。例如,當 n=27 時,有4個不同的連續自然數段的和恰為27:2+3+4+5+6+7;8+9+10;13+14;27。
上傳時間: 2013-12-29
上傳用戶:lanwei
對于n后問題,用n元組工[1:n]表示n后問題的解。其中x[i],表示皇后i放在棋盤的第i行的第i列。由于不允許將2個皇后放在同一列,所以解向量中的x[i]互不相同。2個皇后不能放在同一斜線上是問題的隱約束。對于一般的n后問題,這一隱約束條件可以化成顯約束的形式。將n x n格棋盤看作二維方陣,其行號從上到下,列號從左到右依次編號為1,2,…,n。從棋盤左上角到右下角的主對角線及其平行線(即斜率為一1的各斜線)上,2個下標值的差(行號一列號)值相等。同理,斜率為+1的每一條斜線上,2個下標值的和(行號+列號)值相等。
標簽:
上傳時間: 2016-03-12
上傳用戶:haoxiyizhong
算法實現題1-2 連續和問題 « 問題描述: 給定一個正整數n,計算有多少個不同的連續自然數段,其和恰為n。例如,當n=27 時,有4 個不同的連續自然數段的和恰為27:2+3+4+5+6+7;8+9+10;13+14;27。 « 編程任務: 給定一個正整數n,試設計一個O(n)時間算法,計算有多少個不同的連續自然數段的 和恰為n。 « 數據輸入: 由文件input.txt提供輸入數據。文件的第1 行是正整數n。 « 結果輸出: 程序運行結束時,將計算出的和恰為n的連續自然數段的個數輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 27 output.txt 4
上傳時間: 2016-05-28
上傳用戶:yulg
Ex3-23 親兄弟問題 « 問題描述: 給定n 個整數0 1 1 , , , n- a a a 組成的序列。序列中元素i a 的親兄弟元素k a 定義為: min{ | } k i j n j j i a = a a ³ a < < 。 親兄弟問題要求給定序列中每個元素的親兄弟元素的位置。元素i a 的親兄弟元素為k a 時,稱k 為元素i a 的親兄弟元素的位置。當元素i a 沒有親兄弟元素時,約定其親兄弟元素 的位置為-1。 例如,當n=10,整數序列為6,1,4,3,6,2,4,7,3,5 時,相應的親兄弟元素位 置序列為:4,2,4,4,7,6,7,-1,9,-1。 « 編程任務: 對于給定的n個整數0 1 1 , , , n- a a a 組成的序列,試用抽象數據類型棧,設計一個O(n) 時間算法,計算相應的親兄弟元素位置序列。 « 數據輸入: 由文件input.txt提供輸入數據。文件的第1 行有1 個正整數n,表示給定給n個整數。 第2 行是0 1 1 , , , n- a a a 。 « 結果輸出: 程序運行結束時,將計算出的與給定序列相應的親兄弟元素位置序列輸出到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
上傳時間: 2013-12-17
上傳用戶:shizhanincc
給定n個矩陣{A1,A2,…,An},其中Ai與Ai+1是可乘的,i=1,2,…,n-1??疾爝@n個矩陣的連乘積A1A2…An。由于矩陣乘法滿足結合律,故計算矩陣的連乘積可以有許多不同的計算次序,這種計算次序可以用加括號的方式來確定。若一個矩陣連乘積的計算次序完全確定,則可以依此次序反復調用2個矩陣相乘的標準算法(有改進的方法,這里不考慮)計算出矩陣連乘積。若A是一個p×q矩陣,B是一個q×r矩陣,則計算其乘積C=AB的標準算法中,需要進行pqr次數乘。
上傳時間: 2016-06-18
上傳用戶:hjshhyy
N皇后問題(c語言版),N默認為8,N值可以進行修改
標簽: c語言
上傳時間: 2014-08-20
上傳用戶:hasan2015
離散01串問題 « 問題描述: (n,k)01 串定義為:長度為n 的01 串,其中不含k 個連續的相同子串。對于給定的正 整數n 和k,計算(n,k)01 串的個數。 « 編程任務: 對于給定的正整數n和k,計算(n,k)01串的個數。
上傳時間: 2016-07-15
上傳用戶:fredguo
控制器源代碼,包含輸入點N個,輸出點N個,AD轉換16位,DA輸出8位
上傳時間: 2013-12-05
上傳用戶:heart520beat
在n×n的棋盤上放置n個皇后,現要求出使n元棋盤上的n個皇后互不攻擊的布局。
標簽:
上傳時間: 2013-12-07
上傳用戶:lizhizheng88
Euler函數: m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n Euler函數: 定義:phi(m) 表示小于等于m并且與m互質的正整數的個數。 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 在實際代碼中可以用類似素數篩法求出 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互素的數的個數 設n的素因子有p1, p2, p3, … pk 包含p1, p2…的個數為n/p1, n/p2… 包含p1*p2, p2*p3…的個數為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)
上傳時間: 2014-01-10
上傳用戶:wkchong