PALMisLIFE 討論區

標題: [有趣]越簡單的程式, 越多人不會寫?? [列印本頁]

作者: matika    時間: 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找答案)
作者: Jam~    時間: 2007-10-5 12:21
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
for (int i=1;i<=100;i++) {
     if ( (i %3) ==0 && (i %5) ==0) {
           out.println("FizzBuzz");
     }else if ((i %3) ==0 ){
           out.println("Fizz");
     }else if ((i %5) ==0 ){
           out.println("Buzz");
     }else{
           out.println(i);
     }
}
作者: 594079    時間: 2007-10-5 13:35
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
int i;
for(i=1;i<=100;i++)
  {
     printf("i= %d,",i);
     if((i%3)==0) printf("Fizz");
     if((i%5)==0) printf("Buzz");
     printf("\n");
}
作者: Jonry    時間: 2007-10-5 13:43
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
VB Script:


For i = 1 To 100
        If i Mod (3*5) = 0 Then
                WScript.Echo i & " " & "FizzBuzz"
        Elseif i Mod 3 = 0 Then
                WScript.Echo i & " " & "Fizz"
        Elseif i Mod 5 = 0 Then
                WScript.Echo i & " " & "Buzz"
        Else
                WScript.Echo i
        End If
Next
作者: lyr    時間: 2007-10-5 13:51
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
好吧,真的有人寫錯了。
作者: brad_cat    時間: 2007-10-5 14:00
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
HANDLE  divid;
int i ;
int ThreadOn = TRUE;
void main()
{
divid= CreateThread(NULL, 0, ShowNum, NULL, 0, NULL);
print35= CreateThread(NULL, 0, print35, &i, 0, NULL);
while ( WaitForSingleObject(divid, 0) == WAIT_TIMEOUT)
{
ThreadCount++;
Sleep(100);
}
}

int ShowNum()
{
   for (i=0 ; i<=100; i++)
    printf(%d, i);
}

void print35 (int n)
{
while (ThreadOn)
{
     if((n%3)==0) printf("Fizz");
     if((n%5)==0) printf("Buzz");
     if((n%15)==0) printf("FizzBuzz");
     if(n == 100)  ThreadOn= FALSE;
}
}

[ 本文最後由 brad_cat 於 2007-10-5 14:02 編輯 ]
作者: 阿輝    時間: 2007-10-5 14:02
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
不難吧....

其實有多種寫法,不過想想好像沒啥陷阱 @_@?

PHP 版本

  1. for ($i=1; $i<=100; $i++)

  2. {

  3.     if (($i % 3 == 0) && ($i % 5 == 0)) {

  4.         echo "FizzBuzz";

  5.     } elseif ($i % 3 == 0) {

  6.         echo "Fizz";

  7.     }elseif ($i % 5 == 0) {

  8.         echo "Buzz";

  9.     } else {

  10.         echo $i;

  11.     }

  12.         echo "\n";  //此行單純斷行用

  13.     }
複製代碼

作者: krisher    時間: 2007-10-5 14:08
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
就流程啊...

從1~100
  印數字=true
  若除3的餘數0 則印出 Fizz (不換行), 印數字=false
  若除5的餘數0 則 印出 Buzz (不換行), 印數字=false
  若印數字=true 則 印出 數字(不換行)
  換行
迴圈返回
作者: norra    時間: 2007-10-5 14:09
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
void main() {
    char i = 1;
    char shown = 0;

    while(i <= 100) {
        
        if( i % 3 == 0) {
            printf("Fizz");
            shown = 1;
        }
        
        if( i % 5 == 0) {
            printf("Buzz");
            shown = 1;
        }
        
        if(shown == 0) {
            printf("%d", i);
        }
        
        printf("\n");
        i++;
        shown = 0;
    }
}
作者: krisher    時間: 2007-10-5 14:22
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
其實這個問題容易出在:
1). 印文字時, 把數字也印出來了.
上面就有人忘了處理.

2). 3 和 5 的公倍數怎麼處理
其實這個一點也不需要處理, 就先檢查3的倍數, 印 Fizz 但是不換行.
再檢查5的倍數, 印 Buzz. 這樣 3 和 5 的公倍數就自動會出現 FizzBuzz.
最後再統一換行, 就不會多印一行空行了.
作者: 溫開水    時間: 2007-10-5 14:32
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
寫不出來和有bug..我想有很大的差別吧?

一次就寫出bug free的程式....有時得靠運氣吧
作者: IF    時間: 2007-10-5 14:39
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
class FizzBuzz {
     public static void main (String args []) {
          int i = 1;
               while (i <= 100){
                    if(i % (3 * 5) == 0) {
                         System.out.println("FizzBuzz");
                    }else if(i % 3 == 0){
                         System.out.println("Fizz");                  
                    }else if(i % 5 == 0){
                         System.out.println("Buzz");                  
                    }else{
                         System.out.println(i);
                    }
                    i ++;
               }
          }       
}

[ 本文最後由 IF 於 2007-10-5 14:40 編輯 ]
作者: closer    時間: 2007-10-5 14:53
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
// Recursion version

#include <iostream>

using namespace std;

void FizzBuzz(int start, int end)
{
        if ( start == end)
                return;

        FizzBuzz(start, end-1);
       
        if ( end % 5 && end % 3)
        {
                cout << end << endl;
        }
        else
        {
                if ( !(end % 3) ) cout << "Fizz";
                if ( !(end % 5) ) cout << "Buzz";
                cout << endl;
        }
}

int main(void)
{
        FizzBuzz(1,100);
       
        return 0;
}
作者: lyr    時間: 2007-10-5 14:59
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
哇,這篇看起來就像各種語言的火力展示嘛~
再寫下去,也許連 pascal 或是 shell script 都出來了,
大家加油!  
作者: bartslin    時間: 2007-10-5 14:59
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 lyr 於 2007-10-5 13:51 發表
好吧,真的有人寫錯了。


比我好啦,我不會寫。
作者: Yada    時間: 2007-10-5 15:04
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
這邊根本就是程式設計師的簽到簿.......

完全不會寫程式的人留。
作者: IF    時間: 2007-10-5 15:11
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
有人覺得剽竊, 恕刪.

[ 本文最後由 IF 於 2007-10-5 16:32 編輯 ]
作者: brad_cat    時間: 2007-10-5 15:43
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
來個組合語言吧~  內部print function就不寫了  每一家顯示卡的out fun register都不一樣!

push all
PIL:
mov cx, 64h
call print3
call print5
call print15
loop PIL

print  PROC    NEAR
mov ax, cx
mov bx, 35h
@@:
div bh
cmp ah, 0
je show1
mov ax, cx
div bl
cmp ah, 0
je show2
mov ax, cx
div 0Fh
cmp ah, 0
je show3
endproc

show:
push ah
mov dh, ah
mov ah, 10
int
.......
cmp cx, 0
jge @b

[ 本文最後由 brad_cat 於 2007-10-5 15:45 編輯 ]
作者: shaoyen    時間: 2007-10-5 15:50
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 IF 於 2007-10-5 15:11 發表
更精簡的算不算?

  for (int i=1; i


這個感覺是人腦偷吃步。
作者: IF    時間: 2007-10-5 15:54
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
為什麼這麼說?
這種 java skill 很常見啊.
作者: IF    時間: 2007-10-5 16:31
標題: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 shaoyen 於 2007-10-5 03:50 PM 發表


這個感覺是人腦偷吃步。


剛 search 了一下, 還蠻多人這樣寫的.
你覺得是剽竊是嗎?

刪掉就是了.

何必小人之心?
作者: 小賤健    時間: 2007-10-5 16:53
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
最近玩 ASPX with VB.Net 比較多。
VB.Net, Web Layout

    Private Function FizzBuzz() As String
        '偷懶的變數命名,好孩子不要學
        Dim i As Integer
        Dim out As String = ""

        For i = 1 To 100
            If i Mod 15 = 0 Then '3 和 5 的倍數要記得先處理掉,不然就破功了。
                out += "FizzBuzz" & "<br />"
            ElseIf i Mod 3 = 0 Then
                out += "Fizz" & "<br />"
            ElseIf i Mod 5 = 0 Then
                out += "Buzz" & "<br />"
            'ElseIf i Mod 15 = 0 Then '這行是錯的。一開始直覺是寫在這裡,執行後才發覺不對
            'out += "FizzBuzz" & "<br />"
            Else
                out += i.ToString & "<br />"
            End If
        Next

        Return out

    End Function
作者: palmislife_cat    時間: 2007-10-5 17:05
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
所謂的越簡單的程式,其實..............
1.考的是數學問題(不要小看數學這個領域呀.......)
2.考你語法中不常用或根本不會用的部份
3.容易發生小缺點的程式

還有一次寫對也是一個陷阱
要考也要考多久可以寫出可以運行無誤的程式

往往大部份的這類測驗,只是要挖洞給人跳的!!
只要有差異化的結果出現,就是拿來說嘴或是交差的好標的!!
作者: 瘋狂啞鈴    時間: 2007-10-5 17:26
標題: Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 IF 於 2007-10-5 16:31 發表


剛 search 了一下, 還蠻多人這樣寫的.
你覺得是剽竊是嗎?

刪掉就是了.

何必小人之心?

IF 兄不需要想太多啦
程式這種東西就跟論文一樣
誰敢說他沒有Reference 到別人的東西,就算真的都沒有Reference
也難保他的方法之前沒有人寫過類似的
作者: IF    時間: 2007-10-5 17:27
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
沒生氣啦.

只是覺得這麼簡單的應用也能拿來說嘴, 有點啼笑皆非.
作者: aziena    時間: 2007-10-5 17:29
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
本來剛已經用 Delphi 寫好了,看到 krisher 兄的留言就覺得沒必要再貼。
不過看到有人說 pascal 會不會出來……hmm

Delphi 版
===================
var
  i: integer;
  varStr: string;
  varSList: TStringList;
begin
  varSList:=TStringList.Create;
  for i:=1 to 100 do
  begin
    varStr:='';
    if (((i mod 3)=0)or((i mod 5)=0)) then
    begin
      if ((i mod 3)=0) then
        varStr:=varStr+'Fizz';
      if ((i mod 5)=0) then
        varStr:=varStr+'Buzz';
    end
    else
      varStr:=IntToStr(i);

    varSList.Add(varStr);
  end;

  varSList.SaveToFile('C:\Tmp.txt');
end;
作者: camel    時間: 2007-10-5 17:36
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
看到這麼多程式設計師出現..

想到自己只學過BASIC...[洋蔥cry]
而且已經早就都忘光光了...[洋蔥em22]
作者: egegtgtg    時間: 2007-10-5 17:54
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
IF 兄別在意,這寫程式就像跑步游泳一樣,
不也你做什麼他就做什麼嗎
作者: Jonry    時間: 2007-10-5 19:09
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 krisher 於 2007-10-5 14:22 發表
其實這個問題容易出在:
1). 印文字時, 把數字也印出來了.
上面就有人忘了處理.

還好啦, 只是題目沒看清楚, 小改一下就好了...
作者: byebye    時間: 2007-10-5 21:53
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
看到這個討論, 小弟想到以前老師出以下題目. 用一個迴圈完成.  大夥試試看~~  
     *
   ***
  *****
*******
  *****
   ***
     *
作者: 拍郎    時間: 2007-10-6 00:20
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
再這樣下去
會不會連 non-recursive 的漢諾塔經典考題都要出來了...

[洋蔥smile]
作者: krisher    時間: 2007-10-6 00:27
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
因為迴圈都是遞增或遞減, 所以非固定增加/減少的數值,
就要改用 "數線左右邊絕對值均遞增" 的觀念來做.
而且這題的重點在於控制 "空白字元" 的數量, 而不是控制 "*" 號.

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

不過要一個迴圈完成, 就要用字串長度控制來做, 算偷吃步吧.
其實本質還是要 nested loop, 才不會移植不同程式語言寫時,
會因為不同語言的字串控制 function 不同而造成移植困難.
作者: 拍郎    時間: 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]
作者: hamittuna    時間: 2007-10-6 00:42
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
看了這一連串
我覺得好像自己已經到了火星一般
啥東西阿~~~~~~~~~~~~
作者: Jam~    時間: 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;
     }  
}


這樣玩也可以
作者: cychang    時間: 2007-10-6 00:58
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 拍郎 於 2007-10-6 00:20 發表
再這樣下去
會不會連 non-recursive 的漢諾塔經典考題都要出來了...

[洋蔥smile]

有~~~老師~~~這個我會!
在高二時參加軟體競賽我負責解這一題的,花了我快四小時才寫出來。
雖然已經快二十年了,但是給我一天回憶一下應該還可以吧,哈哈。
作者: 小賤健    時間: 2007-10-6 01:32
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
如果有特別去精修資料結構演算法,會遇到更多更令人吐血的簡單問題XD
例如超大數字四則運算,1923798172893129389798789 x 219871927371927398798 = ?

Tip
use 1-array, please!

[ 本文最後由 小賤健 於 2007-10-6 01:33 編輯 ]
作者: byebye    時間: 2007-10-6 10:06
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
昨晚去翻書, 看之前寫的答案是啥, 但不知道跑哪去了~ 且小弟也不在寫程式,
網路上找了一下, 當時上課的 Forth 課本電子檔還在,
網頁: 中華民國符式語言協會 http://www.figtaiwan.org/   
課本: FORTH的禪思 http://www.figtaiwan.org/download/Doc/TheZenOfForth.pdf
題目在第 349 頁, 但沒解答.  印象中是用一個迴圈搞定的..... 應該是....  
如果一個迴圈寫不出來, 可能是小弟記錯了~~  
作者: Larry    時間: 2007-10-6 14:44
標題: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 camel 於 2007-10-5 17:36 發表
看到這麼多程式設計師出現..

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

握手~!

我的時代是 Apple II Basic 和 6502 組合語言...
作者: 小酒蟲    時間: 2007-10-6 16:21
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
CALL-151[洋蔥em22]
作者: Vincent Huang    時間: 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)
[這是程式的結束]

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

班機被取消呆在曼谷放颱風假的人留
作者: HUANGLIFU    時間: 2007-10-6 16:45
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
這一篇沒有程式設計區實在很可惜啦~
作者: krisher    時間: 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 來執行印 空白 和印 星號 的動作.
作者: byebye    時間: 2007-10-6 19:56
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
是的~! 小弟正是這個意思~~~
作者: kaban    時間: 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
%>
作者: Cancer    時間: 2007-10-7 02:21
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
上面都是用c programing language?
現在正在學...看的一知半解@@
作者: nessie    時間: 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 編輯 ]
作者: zombie    時間: 2007-10-8 12:00
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
我... 我寫不出來......
作者: sofaraway2us2    時間: 2007-10-9 02:24
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
看起來好像還滿有趣的,不過我也不會寫[洋蔥em22] ,只好窩在旁邊泡茶....
改天還是去看點書增長知識好了[洋蔥shy]
作者: krisher    時間: 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
作者: ShotLiang    時間: 2008-1-10 07:52
標題: Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 IF 於 2007-10-5 16:31 發表
剛 search 了一下, 還蠻多人這樣寫的.
你覺得是剽竊是嗎?
刪掉就是了.
何必小人之心?


音樂著作權似乎是以8個小節完全相同來作為是否抄襲的判斷依據,
那程式碼呢? 怎麼判斷是否為抄襲??
作者: xdavid    時間: 2008-1-10 10:46
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
不會寫不出來啦, 剛用Word語言或Notepad語言, 都一分鐘答案就出來了...
作者: jouston    時間: 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 編輯 ]
作者: 小酒蟲    時間: 2008-1-10 11:33
標題: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 kennyliu 於 1/9/2008 08:34 發表
事情簡單化,就是資深工程師的價值所在。

帳本複雜化,就是資深會計師的價值所在。
作者: IF    時間: 2008-1-10 11:34
標題: Re: Re: Re: Re: Re: [有趣]越簡單的程式, 越多人不會寫??
原文由 ShotLiang 於 2008-1-10 07:52 AM 發表


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


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

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

原來 shaoyen 他的寫法一定是獨創的, 完全跟別人不同啊..
他比較厲害, 我沒辦法啦.
作者: ShotLiang    時間: 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]
只提及抄襲或更改電腦程式只限更改人個人使用




歡迎光臨 PALMisLIFE 討論區 (http://f.pil.tw/) Powered by Discuz! X2.5