iT邦幫忙

DAY 5
4

鐵人不簡單, 挨踢人生刊, 卅天不間斷, 苦辣加甜酸。系列 第 5

五、小試身手(2013/9/27)

  • 分享至 

  • xImage
  •  

寒窗苦讀十年,一朝金榜題名,苦練進程編碼,就為一鳴驚人。
說的似乎...有點誇張.....也就高中聯考題名...後面只是個小小考啦。
整個升高中前暑假,每天苦練Basic,其實只是純萃興趣,壓根沒想過,會有那麼一天,有機會派上用場,直到第一次的工藝課考試。省中的課程通常非升學相關科目,都是安排其他用途,這次的工藝課考的是BASIC,其實也出乎我意料之外。

BASIC題目不外乎,從1+2+...100這類考題,倒是其中一題,吸引了我的注意,因為不是上機考,所以除了那唯一的一次Apple II 邂逅之後,我很訝異全校所有一年級生,有幾個寫得出答案來?

題目是,假設有任意一個正整數,請證明它是質數?

看到題目,我有點愣住!整個暑假寫過練習無數,還真沒想到會有這種題目,這題是出的讓我感到很無助!仔細想想國中數學所學,忽然我發現,其實是有教過這種解法的,關鍵是A=B*C,這是再解因式分解的那篇,換言之,所有正整數,如果是可以因式分解出非1的因數的情況,則B或C一定小於A的開根號值!

所以,我就以這個方式寫出我認為的程式碼。
大致如下:
10 input a
20 for i = 2 to int(a^0.5)
30 if A / i = int(A/i) then goto 100 ‘找出可整除者,當時好像不知道mod
40 next i
50 print a;”是質數"
60 end
100 print a; “不是質數"
110 end

其實,大可以直接比對2~A1,可以被整除的就不是質數了,但基於不敷衍的心態,我還是把最少迴圈數的寫法來交卷,以10000來講,平方根只有100,你是迴圈跑9998次,還是跑99次就好呢?後來想想,搞不好老師看不懂還會給錯呢?分數多少我不記得了,倒是我這個解法,在後來"第三波"雜誌依稀看過。

[開發技術組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/dev/1

[鐵人人生組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/life/1


上一篇
四、初嘗禁果(2013/9/26)
下一篇
十、豬怕肥、人怕出名(2013/10/2)
系列文
鐵人不簡單, 挨踢人生刊, 卅天不間斷, 苦辣加甜酸。27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
鐵殼心
iT邦高手 1 級 ‧ 2013-09-27 08:57:10

沙發
拍手

月半車甫 iT邦研究生 3 級 ‧ 2013-09-27 13:59:57 檢舉

謝謝支持。

0
orangepirate
iT邦研究生 5 級 ‧ 2013-09-27 10:56:05

高中時寫的答案到現在還記得!
您真是記憶力過人丫~
拍手拍手拍手

月半車甫 iT邦研究生 3 級 ‧ 2013-09-27 14:01:19 檢舉

謝謝支持。

年紀大了~
所以開始回憶小時候的事,長大後的事轉個身就忘了,
也就這些雞毛蒜皮事還記得哩。哈哈

我要留言

立即登入留言