請考慮乙個被空格分隔的,由1到n的整數組成的遞增數列:1 2 3 ... n。現在請在數列中插入表示加的「+」,或者表示減「-」,亦或者表示空白的「 」(例如1-2 3就等於1-23),來將每一對數字組合成乙個表示式(第乙個數字前無空格)。計算該表示式的結果並判斷其值是否為0。請你寫乙個程式找出所有產生和為零的長度為n的數列。
輸入為一行,包含乙個整數n(3≤n≤9)。
輸出為所有在每對數字間插入「+」, 「-」, 或 「 」後能得到和為零的數列,並按照字典(ascii碼)序排列。
樣例輸入
7
樣例輸出
1+2-3+4-5-6+71+2-3-4+5+6-7
1-2 3+4+5+6+7
1-2 3-4 5+6 7
1-2+3+4-5+6-7
1-2-3-4-5+6+7
遞迴演算法
#include #include int ia[20][2]=,,,,,,,,};
int n;
int check()
,k=1;
v[0]=ia[0][0];
for(i=1;i0)
if(v[k-1]<0)
break;
} }sum=0;
for(i=0;i<10;i++)
if(sum==0)
return 1;
else
return 0;
}void pri()
{ int i;
for(i=0;i
計蒜客 組合表示式
請考慮乙個被空格分隔的,由1到n的整數組成的遞增數列 1 2 3 n。現在請在數列中插入表示加的 或者表示減 亦或者表示空白的 例如1 2 3就等於1 23 來將每一對數字組合成乙個表示式 第乙個數字前無空格 計算該表示式的結果並判斷其值是否為0。請你寫乙個程式找出所有產生和為零的長度為n的數列。輸...
計蒜客 表示式 遞迴
鏈結 here 思路 當傳入乙個字串後,給字串中的所有運算子標記優先順序等級,然後選出來優先順序最低的運算子,因為優先順序最低的運算子一定是最後計算,因此就可以將乙個表示式拆分成兩個子表示式,因此這就將大問題轉化為等價的小問題,遞迴解決即可 這道題目中有變數 a 那麼這該如何處理呢 我們可以將 a ...
計蒜客題目 合法分數的組合
輸入乙個自然數n,我們總可以得到一些滿足 1 b n,0 a b 1 條件的最簡分數a b 分子和分母互質的分數 請找出所有滿足條件的分數。比方說,當n 5時,所有解為 0 1 1 5 1 4 1 3 2 5 1 2 3 5 2 3 3 4 4 5 1 1 現在,你需要對於乙個給定的自然數n,1 n...