注意:不要用//,這個註解會產生compilation error。
uglyNum[0] = 1;
while (i<1500)
{
min = minUgly(2*fac[0], 3*fac[1], 5*fac[2], &idx);
if (min>oldmin)
i++;
uglyNum[i] = min;
maxFac[idx]++;
fac[idx] = uglyNum[maxFac[idx]];
oldmin = min;
}
p136題目連結
回ACM題庫目錄
回首頁
學習程式設計,語法固然重要,也是許多程式設計課程的教學重點。但是看的懂 C ,不見得會用 C 來解決問題(Problem solving),所以學會解題是重點中的重點。 學習C語言的不二法門,就是從寫程式解題開始,這裡的考古題由淺而深,循序漸進,對初學者甚有助益。 ACM 協會針對每年程式設計比賽的練習需求,建立一個線上的題庫與評分系統,希望藉由題庫練習的機會,在此心得分享,讓有心學習程式解題的人,能有個溝通成長的橋樑。
uglyNum[0] = 1;
while (i<1500)
{
min = minUgly(2*fac[0], 3*fac[1], 5*fac[2], &idx);
if (min>oldmin)
i++;
uglyNum[i] = min;
maxFac[idx]++;
fac[idx] = uglyNum[maxFac[idx]];
oldmin = min;
}
4 則留言:
數字應該是2^x*3^y*5^z吧˙ ˙ ...
Thanks, it's fixed.
http://dorm.nsysu.edu.tw/~domon/pmwiki/index.php/Programming/ACM
x,y,z要為ugly number嗎˙ ˙ ?
我查到的資料前11項ugly number
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15
還是前幾項例外??
x,y,z 是 ugly number。
前 100個 ugly number為 1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36 40 45 48 50 54 60 64 72 75 80 81 90 96 100 108 120 125 128 135 144 150 160 162 180 192 200 216 225 240 243 250 256 270 288 300 320 324 360 375 384 400 405 432 450 480 486 500 512 540 576 600 625 640 648 675 720 729 750 768 800 810 864 900 960 972 1000 1024 1080 1125 1152 1200 1215 1250 1280 1296 1350 1440 1458 1500 1536
張貼留言