計蒜客 組合表示式

2021-07-29 11:52:23 字數 771 閱讀 4991

請考慮乙個被空格分隔的,由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+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

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...