看板 b92902xxx 關於我們 聯絡資訊
第一題的...我實在懶的寫dp的正規解了 就來個怪怪的解法吧..不過不知道精確度會不會出問題^^ 還有這只能跑小測資..別叫他跑什麼C(200, 100)... 不過這是歪解啦..有正解就蓋過去吧^^ #include<stdio.h> #include<math.h> #define MAX 200 int main(){ double base[MAX]; int i; int m, n; double ans; freopen("combine.txt","r",stdin); base[1] = 0; for(i = 2; i < MAX; i++) base[i] = base[i - 1] + log10(i); while(scanf("%d %d", &m ,&n) == 2) { ans = base[m] - base[n] - base[m - n]; printf("%.0lf\n", pow(10, ans)); } } ※ 引述《biconnect (^^....{[( )]})》之銘言: : 第五題的... : #include<stdio.h> : #define LINE 4 //每邊有幾個字元 : int main() { : freopen("font.txt","r",stdin); : int index = 0; : char putin; : while(index < LINE*LINE) { : scanf("%c",&putin); : if(putin - '0') : printf("*"); : else : printf(" "); : if(++index % LINE == 0) : printf("\n"); : } : } : ※ 引述《babysilkwarm (鞋子廢了!!)》之銘言: : : 1. 計算組合數程式。 : : 已知C(m,n)= m! / (m-n)!*n! ,其中0<m<200, 0<n<200且 : : n! = n*(n-1)*(n-2)* ...*2*1。 : : 請從磁片combine.txt檔案中讀入若干組m,n的資料,每組一列,計算出每組m,n的組合數。 : : 例如: : : combine.txt檔案的內容為: : : 5 3 : : 17 5 : : 30 24 : : 輸出: : : 5 3 的組合數為 10 : : 17 5 的組合數為 6188 : : 30 24 的組合數為 593775 : : 2. 解析e-mail帳號程式。 : : 假設我們規定所有e-mail的帳號型態如下: : : boy@cc.ncue.edu.tw : : 此帳號可解析為: : : 使用者名稱:boy : : 伺服器名稱:cc : : 機關名稱:ncue : : 組織名稱:edu : : 國家名稱:tw : : 請設計一程式可以從鍵盤輸入e-mail帳號,解析出此e-mail帳號的機關名稱。 : : 3. 模擬老鼠走迷宮遊戲 : : 有一個10X10大小的迷宮(請從磁片Magic.txt檔案中讀入迷宮資料,其中O代表通路,X代 : : 表此路不通,S代表入口,E代表出口),請模擬老鼠從入口進入,然後找出一條路徑可以到 : : 達出口。請依序輸出以下兩種結果:(1)第一次嘗試時,請以@逐步標示老鼠所有走過的路徑 : : ,(2)第二次執行時,請根據第一次尋找路徑獲得的知識,模擬從入口到出口的最短路徑(請 : : 以@標示路徑)。 : : 例如: : : Magic.txt 的資料內容如下: : : XXXXXXXXXX : : XOOOOOOOXX : : XOXOXOXXOE : : XXOXOOXOOX : : XXOXOOOXOX : : SOOOOXOOOX : : XOOOXOXOOX : : XOXOOOXOXX : : XOOXOXOOXX : : XXXXXXXXXX : : 輸出: : : (1)老鼠走過的路徑: : : XXXXXXXXXX : : XOOOOOOOXX : : XOXOXOXX@E : : XXOXOOXO@X : : XXOX@@@X@X : : S@@@@X@@@X : : XOOOXOX@@X : : XOXOOOX@XX : : XOOXOX@@XX : : XXXXXXXXXX : : (2)最短路徑: : : XXXXXXXXXX : : XOOOOOOOXX : : XOXOXOXX@E : : XXOXOOXO@X : : XXOX@@@X@X : : S@@@@X@@@X : : XOOOXOXOOX : : XOXOOOXOXX : : XOOXOXOOXX : : XXXXXXXXXX : : 4. 模擬一砲兵發射一砲彈,射擊距離D,高度H的一個目標。 : : 使用者輸入砲彈的速度v,目標的距離D與高度H,求出砲彈應以多少仰角度θ(徑度量)發 : : 射,多少時間t(秒)後射中目標?並請繪出砲彈的飛行軌跡。 : : 請參考下面運動公式: : : H(高度)= v(砲彈速度)×sinθ×t(時間)- (1/2) ×g (重力加速度) × t2 : : D(距離)= v ×cosθ×t : : g 為 9.8 公尺/秒2,θ為徑度量(0 ~ π/2),速度單位為 公尺/秒,時間單位為秒,高度 : : 與距離單位為公尺。 : : 註:1.砲彈與目標物之距離在1公尺內視同命中目標。 : : 2.若使用者輸入之數據超過砲彈所能達到的範圍,請於螢幕上告知使用者。 : : 例如: : : 輸入: : : 砲彈的速度v:300 : : 目標的距離D:2000 : : 目標的高度H:500 : : 輸出: : : 砲彈發射仰角度θ: 0.357589 度 : : 射中目標時間t: 7.11686 秒 : : 參考測試資料: : : 1. 輸入:v = 100,D = 500,H = 100 輸出:θ = 0.468175 t =5.60291 : : 2. 輸入:v = 400,D = 2500,H = 150 輸出:θ = 0.136802 t =6.30894 : : 3. 輸入:v = 200,D = 50000,H = 500 輸出:無法命中目標 : : 5. 一個NxN之中文字型總共會有N*N個位元(bit) 所組成,這些位元依序代表每一橫列中的 : : 每一直欄是否要顯示亮點的對應位元值,"1"表示要顯示亮點,"0"表示不顯示亮點。以下 : : 我們寫一程式模擬顯示字型之動作。 : : 有一個文字檔font.txt存放著由字元0與1所組成且長度為256之字串,也就是代表一個16x1 : : 6之中文字型。請設計一程式根據以下之規則,將此一中文字型顯示在螢幕上:依序讀出字 : : 串中的每一個字元,如果讀出的字元是1則顯示"*",否則則顯示空白字元,而且每讀出十 : : 六個字元即必須換行顯示。 : : 例如: : : 為了說明方便,我們以4x4的中文字型舉例。因為一個4x4的中文字型是由16個點所組成, : : 所以檔案中會存放16個字元,假設其內容是1111001001001000,則會於螢幕輸出以下四行 : : 之結果: : : **** : : * : : * : : * -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.72.104.6 ※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:06) ※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:10) ※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:13)
Favonia:可以叫你歪解王嗎... 推 203.64.26.1 10/11
※ 編輯: biconnect 來自: 211.72.104.6 (10/11 22:31)
flyhermit:為什麼我看到了log...|| 推 210.85.134.246 10/11
biconnect:LOG好呀!!! 推 211.72.104.6 10/11
biconnect:ACM用這個解只有一題會掛耶^^其他都過 推 211.72.104.6 10/11