Re: [請益] 程式小考題目

看板Soft_Job作者 (髮箍)時間7年前 (2016/11/22 21:13), 7年前編輯推噓11(1107)
留言18則, 18人參與, 最新討論串6/7 (看更多)
※ 引述《sam901002 (fxsh1301)》之銘言: : 台中某私立科大程式小考 : 原PO朋友的老闆是教程式設計 : 對象是目前大一上的學生 : 今天他改完小考 想問這樣真的太難嗎? : 作答前提:教到if else判斷式 : 還不會迴圈、陣列 : http://imgur.com/7baPsH9
: http://imgur.com/JE4NSo1
: ----- : Sent from JPTT on my HTC_M9px. "只能用目前學過的語法來解這題" 對新鮮人來說這個條件稍微難了點, 對小弟我來說更難 xD 分享一下解題過程, 望大大們勿噴 舉個例子, 就題目 Q1、Q2 來看, 已知的常數不只有基底(2、10)、 輸入的最大值(255、9999999)、分隔符號("_"、"###"), 還有更重要 的輸出位數(8、7) 把 Q1 輸出部分的程式碼簡單寫出來如下: printf( "%d" "_" "%d" "_" "%d" "_" "%d" "_" "%d" 8 "_" "%d" "_" "%d" "_" "%d", 1, → 134 / 2^7 % 2 0, → 134 / 2^6 % 2 0, → 134 / 2^5 % 2 0, → 134 / 2^4 % 2 8 0, → 134 / 2^3 % 2 1, → 134 / 2^2 % 2 1, → 134 / 2^1 % 2 0 → 134 / 2^0 % 2 ); 從上面可以看到輸入的最大值在打印的時候是起不到作用的, 而且 複的程式碼不少, 希望能改寫成更簡單的形式如下: printf( repeat "%d" 8 times and concatenate them by "_", list 8 digits of 134 in binary notation ); 其實 C 語言裡的巨集(macro)就可以處理這種雜事, 最後程式碼變成: printf( PP_JOIN_REPEAT("%d", "_", 8), PP_EXPAND_DIGITS(134, 2, 8) ); 原始碼: http://ideone.com/rHW20w 剩下就是編譯器的事了.. (煙 更進階還可以改成對數版本, 連位數都不用先算好 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.51.36 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1479820396.A.627.html

11/22 21:25, , 1F
助教會哭吧
11/22 21:25, 1F

11/22 21:34, , 2F
!!!
11/22 21:34, 2F

11/22 21:46, , 3F
笑了,這 code
11/22 21:46, 3F

11/22 21:51, , 4F
想說這id好熟悉,原來是前c&c++板主
11/22 21:51, 4F

11/22 21:56, , 5F
@shadow0326 哭出來先給 60!
11/22 21:56, 5F

11/23 00:14, , 6F
給推
11/23 00:14, 6F

11/23 09:42, , 7F
笑了xDD
11/23 09:42, 7F

11/23 09:43, , 8F
別欺負助教R
11/23 09:43, 8F

11/23 10:44, , 9F
最好會用macro啦 =皿=
11/23 10:44, 9F

11/23 12:51, , 10F
別欺負我=皿=
11/23 12:51, 10F

11/23 12:54, , 11F
macro應該還沒教吧XD
11/23 12:54, 11F
和小大一相比, 對學習過更多語言特性的我們來說, 如何用它們創造出更多元的解法, 我覺得也是富有挑戰的. "只能用目前學過的語法來解這題" 一樣的題目和限制, 能不能從中挖出半點讓自己進步的空間 我想表達的是這個概念 ※ 編輯: loveme00835 (180.176.51.36), 11/23/2016 13:56:49

11/23 15:10, , 12F
Q1我真的覺得暴力法就夠了,超過就例外排除 只是這C太高深
11/23 15:10, 12F

11/24 00:27, , 13F
我到底看了什麼東西阿....
11/24 00:27, 13F

11/24 11:59, , 14F
XDDDDDDDD
11/24 11:59, 14F

11/24 13:59, , 15F
太猛了
11/24 13:59, 15F

11/24 15:31, , 16F
跪了QQ
11/24 15:31, 16F

11/28 18:24, , 17F
神煩XD
11/28 18:24, 17F

12/02 12:40, , 18F
WTF XDDDDD
12/02 12:40, 18F
文章代碼(AID): #1OD4HiOd (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1OD4HiOd (Soft_Job)