PALMisLIFE 討論區

搜索
鹹魚爸魅力四射舞蹈教室
查看: 11678|回復: 55
打印 上一主題 下一主題

[有趣]越簡單的程式, 越多人不會寫??

[複製鏈接]

1689

主題

0

好友

6436

積分

該用戶從未簽到

文章
11802
跳轉到指定樓層
#
發表於 2007-10-5 12:11 |只看該作者 |正序瀏覽
剛剛看到一個網頁:
http://www.codinghorror.com/blog/archives/000781.html

"FizzBuzz Questions"

Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

Most good programmers should be able to write out on paper a program which does this in a under a couple of minutes. Want to know something scary? The majority of comp sci graduates can't. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.

講中文的話就是:

印出 1 到 100,但如果是 3 的倍數就印 Fizz,如果是 5 的倍數就印 Buzz,如果同時是 3 和 5 的倍數就印 FizzBuzz。

購簡單吧? 但據上面那篇文章的作者 200個programmer中有199個寫不出來, 或寫錯..

挑戰一下吧..(拜託別用google找答案)
分享淘帖0 分享分享0 收藏收藏0 頂0 踩0

40

主題

0

好友

808

積分

該用戶從未簽到

文章
1080
55#
發表於 2008-1-10 18:28 |只看該作者

Re: Re: Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??

原文由 IF 於 2008-1-10 11:34 發表

喂喂.. 我是被懷疑的人耶.
你問我, 我問誰?......


看來是由法官認定,
依著作權法內文沒有定義抄襲的範圍為何,
[http://www.cca.gov.tw/law/html/7-1.html]
只提及抄襲或更改電腦程式只限更改人個人使用
Palm 就是好玩 !
Mac其實也好玩!!
最近都在玩170
回復

使用道具 舉報

107

主題

9

好友

2163

積分

該用戶從未簽到

文章
1684
54#
發表於 2008-1-10 11:34 |只看該作者

Re: Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??

原文由 ShotLiang 於 2008-1-10 07:52 AM 發表


音樂著作權似乎是以8個小節完全相同來作為是否抄襲的判斷依據,
那程式碼呢? 怎麼判斷是否為抄襲??


喂喂.. 我是被懷疑的人耶.
你問我, 我問誰?

這個問題你應該要問 shaoyen, 是這個傢伙說我人腦偷吃步的.

原來 shaoyen 他的寫法一定是獨創的, 完全跟別人不同啊..
他比較厲害, 我沒辦法啦.
以下為拒絕交易名單:qoq357, ylc, xpmoney, yunglieng, s0341969, safari
回復

使用道具 舉報

1234

主題

10

好友

1萬

積分

該用戶從未簽到

文章
23084
53#
發表於 2008-1-10 11:33 |只看該作者

Re: [有趣]越簡單的程式, 越多人不會寫??

原文由 kennyliu 於 1/9/2008 08:34 發表
事情簡單化,就是資深工程師的價值所在。

帳本複雜化,就是資深會計師的價值所在。
[1996] 神寶 Palmax PD-95T [2000] Palm IIIx [2001] SONY S300, HandEra330 [2002] Diamond Mako, CASIO G-FORT, JVC MP-C102, SONY SL10, SHARP SL-5500 [2003] SHARP SL-C700, SONY NZ90/NX60, NEC Sigmarion III, SONY NX73V/U [2004] SONY NX73V/E, SHARP SL-6000L, Handspring treo 600 [2005] SE P900i, Tapwave Zodiac 2 [2006] Garmin iQue 3600, Palm Treo 650/680 [2007] Nokia 9300i/E61 [2008] Nokia E70/E90 [2010]
回復

使用道具 舉報

72

主題

10

好友

824

積分

該用戶從未簽到

文章
833
52#
發表於 2008-1-10 11:33 |只看該作者

Re: Re: [有趣]越簡單的程式, 越多人不會寫??

原文由 lyr 於 2007-10-5 14:59 發表
哇,這篇看起來就像各種語言的火力展示嘛~
再寫下去,也許連 pascal 或是 shell script 都出來了,
大家加油!  


在下只會寫 bash 的 shell script... 好累,終於寫出來:

  1. #!/bin/bash
  2. export i=1
  3. for((i=1;i<=100;i++))
  4. do
  5.   if [ ` expr \( $i % 3 \) \< 1 ` -eq 1 ] && [ ` expr \( $i % 5 \) \< 1 ` -eq 1 ];then
  6.     echo fizzbuzz
  7.   elif [ ` expr \( $i % 5 \) \< 1 ` -eq 1 ];then
  8.     echo buzz
  9.   elif [ ` expr \( $i % 3 \) \< 1 ` -eq 1 ];then
  10.     echo fizz
  11.   else
  12.     echo $i
  13.   fi
  14. done

複製代碼

[ 本文最後由 jouston 於 2008-1-10 11:43 編輯 ]
回復

使用道具 舉報

160

主題

2

好友

1864

積分

xdavid

  • TA的每日心情
    郁悶
    2011-4-18 16:45
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    文章
    2117
    51#
    發表於 2008-1-10 10:46 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    不會寫不出來啦, 剛用Word語言或Notepad語言, 都一分鐘答案就出來了...
    回復

    使用道具 舉報

    40

    主題

    0

    好友

    808

    積分

    該用戶從未簽到

    文章
    1080
    50#
    發表於 2008-1-10 07:52 |只看該作者

    Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 IF 於 2007-10-5 16:31 發表
    剛 search 了一下, 還蠻多人這樣寫的.
    你覺得是剽竊是嗎?
    刪掉就是了.
    何必小人之心?


    音樂著作權似乎是以8個小節完全相同來作為是否抄襲的判斷依據,
    那程式碼呢? 怎麼判斷是否為抄襲??
    Palm 就是好玩 !
    Mac其實也好玩!!
    最近都在玩170
    回復

    使用道具 舉報

    326

    主題

    14

    好友

    5298

    積分

    該用戶從未簽到

    文章
    3982
    49#
    發表於 2008-1-10 01:18 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    這篇又被挖出來了.
    我也來寫一個玩的, 才不會都只是空談. 我用 QBASIC

    FOR N = 1 TO 100
            A$ = ""
            IF (N MOD 3) = 0 THEN A$ = "Fizz"
            IF (N MOD 5) = 0 THEN A$ = A$ + "Buzz"
            IF A$ = "" THEN A$ = STR$(N)
            PRINT A$,
    NEXT N
    回復

    使用道具 舉報

    1

    主題

    0

    好友

    24

    積分

    該用戶從未簽到

    文章
    44
    48#
    發表於 2007-10-9 02:24 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    看起來好像還滿有趣的,不過我也不會寫[洋蔥em22] ,只好窩在旁邊泡茶....
    改天還是去看點書增長知識好了[洋蔥shy]
    回復

    使用道具 舉報

    11

    主題

    1

    好友

    485

    積分

    該用戶從未簽到

    文章
    537
    47#
    發表於 2007-10-8 12:00 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    我... 我寫不出來......
    If something is ugly or hard, it is wrong

    我的Blog: http://grave.dyndns.org/blog/zombie/
    回復

    使用道具 舉報

    4

    主題

    0

    好友

    406

    積分

    該用戶從未簽到

    文章
    103
    46#
    發表於 2007-10-7 17:22 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 camel 於 2007-10-5 17:36 發表
    看到這麼多程式設計師出現..

    想到自己只學過BASIC...
    而且已經早就都忘光光了...

      咱也只不過學到QuickBASIC而已.
      我也來玩一下看看,說不定可以喚醒你一些指令的記憶.

    QuickBASIC:

    FOR i = 1 TO 100
    IF i MOD (3 * 5) = 0 THEN
       PRINT "FizzBuzz",
    ELSEIF i MOD 3 = 0 THEN
       PRINT "Fizz",
    ELSEIF i MOD 5 = 0 THEN
       PRINT "Buzz",
    ELSE
       PRINT i,
    END IF
    NEXT

    [ 本文最後由 nessie 於 2007-10-7 20:24 編輯 ]
    已有 2 人評分分享 收起 理由
    camel + 5 我的媽呀~快把記憶櫃再加三道鎖!XD...
    whale_pp + 3 有複習到!這是我國中學的呀(吐煙)..

    總評分: 分享 + 8   查看全部評分

    回復

    使用道具 舉報

    144

    主題

    18

    好友

    3807

    積分

    該用戶從未簽到

    文章
    1778
    45#
    發表於 2007-10-7 02:21 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    上面都是用c programing language?
    現在正在學...看的一知半解@@
    回復

    使用道具 舉報

    4

    主題

    0

    好友

    25

    積分

    該用戶從未簽到

    文章
    30
    44#
    發表於 2007-10-7 00:14 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    asp
    <%
    for i = 1 to 100
        if i / 3 - int(i / 3) = 0 and i / 5 - int(i / 5) = 0 then
            response.write "FizzBuzz"
        elseif i / 3 - int(i / 3) = 0 and i / 5 - int(i / 5) <> 0 then
            response.write "Fizz"
        elseif i / 3 - int(i / 3) <> 0 and i / 5 - int(i / 5) = 0 then
            response.write "Buzz"
        elseif i / 3 - int(i / 3) <> 0 and i / 5 - int(i / 5) <> 0 then
            response.write i
        end if
        response.write "<br>"
    next
    %>
    回復

    使用道具 舉報

    3

    主題

    0

    好友

    26

    積分

    該用戶從未簽到

    文章
    27
    43#
    發表於 2007-10-6 19:56 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    是的~! 小弟正是這個意思~~~
    回復

    使用道具 舉報

    326

    主題

    14

    好友

    5298

    積分

    該用戶從未簽到

    文章
    3982
    42#
    發表於 2007-10-6 18:30 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 byebye 於 2007-10-6 10:06 發表
    昨晚去翻書, 看之前寫的答案是啥, 但不知道跑哪去了~ 且小弟也不在寫程式,
    網路上找了一下, 當時上課的 Forth 課本電子檔還在,
    網頁: 中華民國符式語言協會 http://www.figtaiwan.org/   
    課本: FORTH的禪 ...


    我想, 你所謂的 "一個迴圈" 應是指迴圈控制成:

    3空白1星號
    2空白3星號
    1空白5星號
    0空白7星號
    1空白5星號
    2空白3星號
    3空白1星號

    這容易達成, 迴圈不必從正數開始, 只要控制成 -3 -2 -1 0 1 2 3 然後取絕對值,
    就成了 3 2 1 0 1 2 3, 正好是空白的數量;
    後面那個 1 3 5 7 5 3 1 就加加減減也很容易得到.

    問題是得到上面那串數字後, 總要印出來吧.
    有的語言可以直接 字串(n) 就能印出 n 個空白或星號或其它字元,
    那沒這類 function 的語言怎麼辦?
    還是要一個 loop 來執行印 空白 和印 星號 的動作.
    回復

    使用道具 舉報

    270

    主題

    0

    好友

    3673

    積分

    大隱隱於市

    該用戶從未簽到

    文章
    7360
    41#
    發表於 2007-10-6 16:45 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    這一篇沒有程式設計區實在很可惜啦~
    亞太 0980/050/589
    中華 0989/907/695
    回復

    使用道具 舉報

    125

    主題

    2

    好友

    482

    積分

    該用戶從未簽到

    文章
    603
    40#
    發表於 2007-10-6 16:44 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    [這是程式的開始]
    啊就把他給印出來啦(1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz Fizz 82 83 Fizz Buzz 86 Fizz 88 89 FizzBuzz 91 92 Fizz 94 Buzz Fizz 97 98 Fizz Buzz)
    [這是程式的結束]

    沒事沒事,程式設計師請繼續,其他的人跟我到旁邊泡茶.......

    班機被取消呆在曼谷放颱風假的人留
    已有 1 人評分分享 收起 理由
    jouston + 1 本日最有爆點程式... XD

    總評分: 分享 + 1   查看全部評分

    回復

    使用道具 舉報

    1234

    主題

    10

    好友

    1萬

    積分

    該用戶從未簽到

    文章
    23084
    39#
    發表於 2007-10-6 16:21 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    CALL-151[洋蔥em22]
    回復

    使用道具 舉報

    415

    主題

    54

    好友

    5121

    積分

  • TA的每日心情
    開心
    2011-4-9 00:44
  • 簽到天數: 2 天

    連續簽到: 0 天

    [LV.1]初來乍到

    文章
    5080
    38#
    發表於 2007-10-6 14:44 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 camel 於 2007-10-5 17:36 發表
    看到這麼多程式設計師出現..

    想到自己只學過BASIC...[洋蔥cry]
    而且已經早就都忘光光了...[洋蔥em22]

    握手~!

    我的時代是 Apple II Basic 和 6502 組合語言...
    回復

    使用道具 舉報

    3

    主題

    0

    好友

    26

    積分

    該用戶從未簽到

    文章
    27
    37#
    發表於 2007-10-6 10:06 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    昨晚去翻書, 看之前寫的答案是啥, 但不知道跑哪去了~ 且小弟也不在寫程式,
    網路上找了一下, 當時上課的 Forth 課本電子檔還在,
    網頁: 中華民國符式語言協會 http://www.figtaiwan.org/   
    課本: FORTH的禪思 http://www.figtaiwan.org/download/Doc/TheZenOfForth.pdf
    題目在第 349 頁, 但沒解答.  印象中是用一個迴圈搞定的..... 應該是....  
    如果一個迴圈寫不出來, 可能是小弟記錯了~~  
    回復

    使用道具 舉報

    181

    主題

    5

    好友

    2509

    積分

    超敗家的白爛長笛手

  • TA的每日心情
    郁悶
    2013-4-6 01:41
  • 簽到天數: 4 天

    連續簽到: 1 天

    [LV.2]偶爾看看I

    文章
    2201
    36#
    發表於 2007-10-6 01:32 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    如果有特別去精修資料結構演算法,會遇到更多更令人吐血的簡單問題XD
    例如超大數字四則運算,1923798172893129389798789 x 219871927371927398798 = ?

    Tip
    use 1-array, please!

    [ 本文最後由 小賤健 於 2007-10-6 01:33 編輯 ]
    回復

    使用道具 舉報

    20

    主題

    0

    好友

    430

    積分

    該用戶從未簽到

    文章
    471
    35#
    發表於 2007-10-6 00:58 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 拍郎 於 2007-10-6 00:20 發表
    再這樣下去
    會不會連 non-recursive 的漢諾塔經典考題都要出來了...

    [洋蔥smile]

    有~~~老師~~~這個我會!
    在高二時參加軟體競賽我負責解這一題的,花了我快四小時才寫出來。
    雖然已經快二十年了,但是給我一天回憶一下應該還可以吧,哈哈。
    回復

    使用道具 舉報

    164

    主題

    0

    好友

    2177

    積分

    該用戶從未簽到

    文章
    2274
    34#
    發表於 2007-10-6 00:54 |只看該作者

    Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 拍郎 於 2007-10-6 00:34 發表

    如果考題的限制只有『一個迴圈』
    我很想知道老師看到以下這樣寫會不會給分
    for ( int i=1; i<=7; i++ ) {
      if ( i == 1 ) printf("   *   ");
      if ( i == 2 ) printf("  ***  ");
      if ( i == 3 ) printf(" ***** ");
      if ( i == 4 ) printf("*******");
      if ( i == 5 ) printf(" ***** ");
      if ( i == 6 ) printf("  ***  ");
      if ( i == 7 ) printf("   *   ");
    }


    for ( int i=1; i<=7; i++ ) {
      switch (i) {
         case 1:
         case 7:
             out.println("   *   ");
             break;
         case 2:
         case 6:
           out.println("  ***  ");
           break;
         case 3:
         case 5:
            out.println(" ***** ");
             break;
         case 4:
             out.println("*******");
             break;
         }  
    }


    這樣玩也可以
    回復

    使用道具 舉報

    62

    主題

    0

    好友

    5967

    積分

  • TA的每日心情

    2019-1-14 22:03
  • 簽到天數: 2481 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    文章
    1543
    33#
    發表於 2007-10-6 00:42 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    看了這一連串
    我覺得好像自己已經到了火星一般
    啥東西阿~~~~~~~~~~~~
    回復

    使用道具 舉報

    210

    主題

    0

    好友

    5173

    積分

    該用戶從未簽到

    文章
    6777
    32#
    發表於 2007-10-6 00:34 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 byebye 於 2007-10-5 21:53 發表
    看到這個討論, 小弟想到以前老師出以下題目. 用一個迴圈完成.  大夥試試看~~  
         *
       ***
      *****
    *******
      *****
       ***
         *

    如果考題的限制只有『一個迴圈』
    我很想知道老師看到以下這樣寫會不會給分

    1. for ( int i=1; i<=7; i++ ) {
    2.   if ( i == 1 ) printf("   *   ");
    3.   if ( i == 2 ) printf("  ***  ");
    4.   if ( i == 3 ) printf(" ***** ");
    5.   if ( i == 4 ) printf("*******");
    6.   if ( i == 5 ) printf(" ***** ");
    7.   if ( i == 6 ) printf("  ***  ");
    8.   if ( i == 7 ) printf("   *   ");
    9. }
    複製代碼

    [洋蔥smile]
    已有 4 人評分分享 收起 理由
    fish0225 + 5 好,連我這個不會寫程式的人都看的懂
    大胃陳 + 5 能抓老鼠的就是好貓!
    小賤健 + 5 這招真是太妙了,屌(Y)
    Jam~ + 5 我給分!目的達到就好!

    總評分: 分享 + 20   查看全部評分

    回復

    使用道具 舉報

    326

    主題

    14

    好友

    5298

    積分

    該用戶從未簽到

    文章
    3982
    31#
    發表於 2007-10-6 00:27 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    因為迴圈都是遞增或遞減, 所以非固定增加/減少的數值,
    就要改用 "數線左右邊絕對值均遞增" 的觀念來做.
    而且這題的重點在於控制 "空白字元" 的數量, 而不是控制 "*" 號.

    把握住這兩點, 這個形狀就很好解了.

    不過要一個迴圈完成, 就要用字串長度控制來做, 算偷吃步吧.
    其實本質還是要 nested loop, 才不會移植不同程式語言寫時,
    會因為不同語言的字串控制 function 不同而造成移植困難.
    已有 1 人評分分享 收起 理由
    loren + 10 講到重點,不可以鑽牛角尖,小心陷阱!

    總評分: 分享 + 10   查看全部評分

    回復

    使用道具 舉報

    210

    主題

    0

    好友

    5173

    積分

    該用戶從未簽到

    文章
    6777
    30#
    發表於 2007-10-6 00:20 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    再這樣下去
    會不會連 non-recursive 的漢諾塔經典考題都要出來了...

    [洋蔥smile]
    回復

    使用道具 舉報

    3

    主題

    0

    好友

    26

    積分

    該用戶從未簽到

    文章
    27
    29#
    發表於 2007-10-5 21:53 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    看到這個討論, 小弟想到以前老師出以下題目. 用一個迴圈完成.  大夥試試看~~  
         *
       ***
      *****
    *******
      *****
       ***
         *
    回復

    使用道具 舉報

    185

    主題

    2

    好友

    4033

    積分

    來騎車吧

  • TA的每日心情
    慵懶
    2011-4-15 11:58
  • 簽到天數: 1 天

    連續簽到: 1 天

    [LV.1]初來乍到

    文章
    4610
    28#
    發表於 2007-10-5 19:09 |只看該作者

    Re: Re: [有趣]越簡單的程式, 越多人不會寫??

    原文由 krisher 於 2007-10-5 14:22 發表
    其實這個問題容易出在:
    1). 印文字時, 把數字也印出來了.
    上面就有人忘了處理.

    還好啦, 只是題目沒看清楚, 小改一下就好了...
    敗家不歸路, 愈走愈恐佈
    回復

    使用道具 舉報

    57

    主題

    1

    好友

    926

    積分

    我做粗工的

    該用戶從未簽到

    文章
    716
    27#
    發表於 2007-10-5 17:54 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    IF 兄別在意,這寫程式就像跑步游泳一樣,
    不也你做什麼他就做什麼嗎
    回復

    使用道具 舉報

    9

    主題

    3

    好友

    558

    積分

  • TA的每日心情
    慵懶
    2012-4-30 11:56
  • 簽到天數: 60 天

    連續簽到: 1 天

    [LV.6]常住居民II

    文章
    1011
    26#
    發表於 2007-10-5 17:36 |只看該作者

    Re: [有趣]越簡單的程式, 越多人不會寫??

    看到這麼多程式設計師出現..

    想到自己只學過BASIC...[洋蔥cry]
    而且已經早就都忘光光了...[洋蔥em22]
    回復

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 免費註冊

    與站長聯繫| PALMisLIFE 掌上生活      下載:更快、更棒、更好玩

    GMT+8, 2024-9-27 12:23 , Processed in 0.094374 second(s), 31 queries , Gzip On.

    Powered by Discuz!

    © 2001-2012 Comsenz Inc. style by eisdl

    回頂部