演算法競賽入門經典第二版習題2 6 排列

2021-08-15 09:35:14 字數 626 閱讀 6201

第一次發博文,謝謝大家支援!

用1,2,3…,9組成3

個三位數

abc,

def和

ghi,每個數字恰好使用一次,要求

abc:def:ghi=1:2:3

。按照「abc def ghi」

分析:我們可以先直接用暴搜找出符合條件的數。當然,通過題目要求我們可以縮小一下搜尋範圍。當我們得知abc值

,即可通過比列來算出def(abc*2)和ghi(abc*3).那麼,我們通過推算得出abc的大致範圍(123~329).又由於組成這些數字的約束條件為0~9不重複,所以我們還要進行相關問題解決。解決數字不重複問題,我是通過先將所有產生的數值存入陣列中,再進行排序。排好序後,從陣列中第乙個數開始,將其與後一數比較是否相等,直到陣列結束。若存在相同數,則break;反之,列印出來。

#include int main ()

}for(m = 0,n = 1;n < 9;m++,n++)//檢查是否有重複數

if(a[m] == a[n]) break;

if (n == 9)

printf ("%d %d %d\n",i,j,k);

}return 0;

}

演算法競賽入門經典 (第二版)習題2 6

用 1,2,3 9組成三個數字abc,def,ghi每個數字恰好使用一次,要求 abc def ghi 1 2 3按照 abc def ghi 的格式輸出所有解 每行乙個解。思路 有a,b,c三個變數,先確定a的範圍,最小的數且符合題目規定的數字為123,最大的數字且符合題目規定的數字是987 所以...

演算法競賽入門經典(第二版) 習題

習題2 5 include int main if 10 n b 10 b 5 確定末位四捨五入的情況 printf d 10 n b 1 else printf d 10 n b return 0 注意 要及時輸出,防止n越界 習題2 6 include void result int num,i...

《演算法競賽入門經典(第二版)》習題(二)

習題 2 1 水仙花數 輸出100 999中的所有水仙花數。若3位數abc滿足abc a b c 則稱其為水仙花數。例如 153 1 5 3 所以153是水仙花數。include intmain return0 習題 2 2 韓信點兵 相傳韓信才智過人,從不直接清點自己軍隊的人數,只要讓士兵先後以三...