1 名前:(´・ω・`) ◆Hc1VAagKMg [2008/04/29(火) 20:06:06 ] 1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。 www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm 言語自由
64 名前:仕様書無しさん mailto:sage [2008/05/06(火) 09:32:46 ] やっぱでるな
65 名前:仕様書無しさん mailto:sage [2008/05/06(火) 09:36:11 ] こうですかわかりません>< <?php for ($i=1 ; $i<101 ; $i++ ){ $a=""; if (!$i%3)$a.="fizz"; if (!$i%5)$a.="buzz"; if ($a="")$a=$i; echo $a; } ?>
66 名前:仕様書無しさん mailto:sage [2008/05/06(火) 09:39:04 ] $a="" orz
67 名前:仕様書無しさん mailto:sage [2008/05/06(火) 10:44:45 ] >>64 う、うん。それでいいよ。 俺が悪かったよ。
68 名前:仕様書無しさん mailto:sage [2008/05/06(火) 11:03:37 ] LISP担当なにやってるの
69 名前:仕様書無しさん [2008/05/06(火) 11:23:23 ] #!/usr/bin/perl for ($i = 1; $i <= 100; $i++) { print (!($i % 15) ? "FizzBuzz\n" : !($i % 5) ? "Buzz\n" : !($i % 3) ? "Fizz\n" : "$i\n"); } print "PHPがバカにされる理由がわかった。\n";
70 名前:仕様書無しさん mailto:sage [2008/05/06(火) 12:05:52 ] 3が付く時だけFizzと言ってください
71 名前:仕様書無しさん [2008/05/06(火) 12:38:34 ] 「FizzBuzz問題」でググッたけど、どのブログも「この問題をどう解くか?」 という話になっていて、元の話の「プログラムを書けない奴をどうするか?」 と言う話はほとんど出てないのな。 日本じゃどの現場でも、プログラムが全く書けない奴を抱えて困った経験など、 してないんだろうか?
72 名前:仕様書無しさん mailto:sage [2008/05/06(火) 13:14:23 ] >>71 うんそうだよw極例だが 部長は設計できない、実装できない、捏造完璧 課長は設計嘘っぽい、実装嘘っぽい、報告うまい 主任は実装できそう、設計できない、ごますりうまい 正社員は実装できそう、ごますりうまそう 派遣は実装できる、設計もできる プログラムの書ける人が困るのが日本式だぜw
73 名前:仕様書無しさん mailto:sage [2008/05/06(火) 13:29:31 ] >>71 書けない奴はこんな問題、 ある意味歯牙にもかけないだろ
74 名前:仕様書無しさん mailto:sage [2008/05/06(火) 14:14:23 ] Lisp、つーかGauche (use srfi-1) (print (map (lambda (x) (cond ((= (remainder x 15) 0) "FizzBuzz") ((= (remainder x 3) 0) "Fizz") ((= (remainder x 5) 0) "Buzz") (else x))) (iota 100 1)))
75 名前:仕様書無しさん mailto:sage [2008/05/06(火) 17:43:07 ] haskell勉強してみたw module Main where main = do putStrLn $ fizz_buzz [1..100] fizz_buzz [] = [] fizz_buzz (x:xs) = fizz_buzz_chk x ++ "\n" ++ fizz_buzz xs fizz_buzz_chk x | x `mod` 15 == 0 = "FizzBuzz" | x `mod` 3 == 0 = "Fizz" | x `mod` 5 == 0 = "Buzz" | otherwise = show x
76 名前:仕様書無しさん mailto:sage [2008/05/06(火) 17:53:58 ] 76
77 名前:仕様書無しさん mailto:sage [2008/05/06(火) 20:43:39 ] >>75 掲示板に投稿するとオフサイドルールが・・・
78 名前:75 mailto:sage [2008/05/06(火) 20:45:28 ] >>77 にいじめられたぉ 助けてほしいぉ
79 名前:可能な限り長く書いてみたw mailto:sage [2008/05/06(火) 22:13:02 ] //1/4 int func_fz(int int_st = 1,int_fn = 100){ if(int_st >= int_fn) return -1; sz_buff = int_fn - int_st +2; //文字列の配列を宣言 char* str_guard = "guard"; char** rly_fb = new(sz_buff); (char** + sz_buff) = *guard; //作業変数を宣言 char pt_st = rly_fb; char pt_tgt = rly_fb; char* str_fizz = "fizz"; char* str_buzz = "buzz"; char* str_none = "";
80 名前:仕様書無しさん mailto:sage [2008/05/06(火) 22:13:43 ] //2/4 //表示する数字の変数 int tgt_num = int_st; //変換メソッド do{ bool b_fizz=false,b_buzz=false; char* str_out = str_none; if(tgt_num%3 == 0) b_fizz = true; if(tgt_num%5 == 0) b_buzz = true; if(!(b_fizz || b_buzz)){ char* str_out = ltoa(tgt_num); str_fb = new(str_num); str_fb = str_out; }
81 名前:仕様書無しさん mailto:sage [2008/05/06(火) 22:14:24 ] //3/4 else{ char* tmp_fizz = "\0"; char* tmp_buzz = "\0"; char* pt_out = str_out; if(b_fizz) tmp_fizz = str_fizz; if(b_buzz) tmp_buzz = str_buzz; while(tmp_fizz != '\0'){ pt_out++ = tmp_fizz++; } while(tmp_buzz != '\0'){ pt_out++ = tmp_buzz++; } *pt_out = '\0'; *pt_tgt++ = pt_out;
82 名前:仕様書無しさん mailto:sage [2008/05/06(火) 22:16:23 ] //4/4 }while(*pt_tgt != guard) pt_tgt = pt_st; //表示 do{ printf("\s\n"pt_tgt++); }while(*pt_tgt != guard); return 0; }//環境無いからデバッグして無い。もしかしたら動くかも?
83 名前:仕様書無しさん mailto:sage [2008/05/06(火) 22:39:11 ] # そんじゃ、pythonで for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print 'FizzBuzz' elif i % 3 == 0: print 'Fizz' elif i % 5 == 0: print 'Buzz' else: print i
84 名前:仕様書無しさん mailto:sage [2008/05/06(火) 22:59:20 ] # rubyで for i in 1..100 if i % 3 == 0 && i % 5 == 0 print("FizzBuzz\n") elsif i % 3 == 0 print("Fizz\n") elsif i % 5 == 0 print("Buzz\n") else print(i, "\n") end end
85 名前:仕様書無しさん mailto:sage [2008/05/07(水) 01:49:10 ] void fizzbuzz(int num) { if (num) { fizzbuzz(num-1); switch( (((num % 5) == 0) << 1) | ((num % 3) == 0) ) { case 0: printf("%d\n", num); break; case 1: printf("fizz\n"); break; case 2: printf("buzz\n"); break; case 3: printf("fizzbuzz\n"); break; } } } void main() { fizzbuzz(100); }
86 名前:仕様書無しさん [2008/05/07(水) 04:44:01 ] #include <stdio.h> int main(int argc,int argv) { for (argc=1;argc<=100;argc++) { switch(argv=argc%15) { case 0: case 3: case 6: case 9: case 12: printf("Fizz"); if (argv) break; case 5: case 10: printf("Buzz"); break; default: printf("%d",argc); break; } printf("¥n"); } return (0); }
87 名前:仕様書無しさん mailto:sage [2008/05/07(水) 05:36:56 ] ============================ 俺用しおり ここまで暗記 ============================
88 名前:仕様書無しさん [2008/05/07(水) 12:26:29 ] let rec fizzbuzz n = let num = string_of_int n in let fizz = if (n mod 3 = 0) then "Fizz" else "" in let buzz = if (n mod 5 = 0) then "Buzz" else "" in match n with 101-> () |_-> if (n mod 3 <> 0 ) then if (n mod 5 <> 0) then print_string num; print_string fizz; print_string buzz; print_string "\n"; fizzbuzz (n+1) in fizzbuzz 1
89 名前:仕様書無しさん [2008/05/07(水) 18:02:17 ] コードを極限まで短くしたのを見てみたい。 言語はCで
90 名前:仕様書無しさん mailto:sage [2008/05/07(水) 18:17:36 ] main(){int i;for(i=1;i<=100;i++)printf(i%3?i%5?"%d\n":"buzz\n":i%5?"fizz\n":"fizzbuzz\n",i);} これ以上短くなるかな
91 名前:仕様書無しさん mailto:sage [2008/05/07(水) 19:56:50 ] main(){inti;while(++i<101)printf(i%3?i%5?"%d¥n":"buzz¥n":i%5?"fizz¥n":"fizzbuzz¥n",i);}
92 名前:仕様書無しさん mailto:sage [2008/05/07(水) 20:08:11 ] >>90 ワロタ 三項演算子は思いついたがそんな使い方があるとは
93 名前:仕様書無しさん mailto:sage [2008/05/07(水) 21:28:49 ] int i;は外に出してグローバルにしないと初期値が不定になるぞ。
94 名前:仕様書無しさん mailto:sage [2008/05/07(水) 21:33:35 ] パソコン買って半年の超初心者の俺が何故かこのスレに来ました。 ここにいる人達はどう考えても天才ですよね?
95 名前:仕様書無しさん mailto:sage [2008/05/07(水) 23:09:24 ] >94 いいえ違います ここにいる人達は毎日 おい○○、あれやっておけ おい○○、明日までにデスマでこれデバレ おい○○、パン買って来いあと報告書ここ修正 おい○○、出張いってこい おい○○、よかったな某大手Nに売られるぞw こんな感じで虐げられた下級民族以下の扱いを 毎日受けています
96 名前:仕様書無しさん mailto:sage [2008/05/07(水) 23:41:04 ] 超初心者がこんなスレにたどり着いた方法を知りたい
97 名前:仕様書無しさん mailto:sage [2008/05/08(木) 21:24:17 ] 酔った勢いでひまわり(日本語プログラミング言語)で書いてみた 答え=「」 足す数=0 100回( 足す数=足す数+1 一時3=足す数%3 もし、一時3=0 ならば、答え=答え&「FIZZ」 一時5=足す数%5 もし、一時5=0 ならば、答え=答え&「BUZZ」 もし、(一時3<>0)かつ(一時5<>0)ならば、答え=答え&足す数 答え=答え&「¥n」 ) 答えと、表示。 分かりにくっ! プログラムとしても日本語としても分かりにくっ! なんかね、根っこがBASICで、それを日本語に訳しただけって感じがするよ、ひまわり。 コンピュータからして英語圏発祥だから仕方ないのかなあ。
98 名前:仕様書無しさん mailto:sage [2008/05/09(金) 02:17:58 ] じゃLispで。 (defun fizzbuzz (n) (labels ((rec (n acc) (if (= n 0) acc (rec (1- n) (cons (or (fzchk n 15 "fizzbuzz") (fzchk n 3 "fizz") (fzchk n 5 "Buzz") n) acc))))) (rec n nil))) (defun fzchk (n x str) (and (= (mod n x) 0) str))
99 名前:仕様書無しさん mailto:sage [2008/05/09(金) 02:30:59 ] Pythonで。 ちょっとズルか? for i in range(100):print i+1,i%3/2*"Fizz"+i%5/4*"Buzz"or-~i
100 名前:仕様書無しさん mailto:sage [2008/05/09(金) 17:49:03 ] >>90 ttp://www.shinh.org/p.rb?FizzBuzz#C 73B まで縮むっぽいよ
101 名前:仕様書無しさん mailto:sage [2008/05/14(水) 01:21:02 ] 久しぶりにJavaでFizzBuzz問題のプログラムを書いてみたら、131バイトで書けた。 133バイトが最小だと思ってたけど、何か言語仕様変わったのかな。 試しにanarchy golfに登録してみたら、ちゃんと登録できたし golf.shinh.org/p.rb?FizzBuzz
102 名前:仕様書無しさん mailto:sage [2008/05/14(水) 23:06:37 ] main(i){ for(;i<101;puts(i++%5?"":"Buzz")) printf(i%3?i%5?"%d":"":"Fizz",i); }
103 名前:仕様書無しさん mailto:sage [2008/05/17(土) 08:18:49 ] with sq as( select rownum n from dual connect by level<=100 ) select case when mod(n,5)=0 and mod(n,3)=0 then 'FizzBuzz' when mod(n,3)=0 then 'Fizz' when mod(n,5)=0 then 'Buzz' else to_char(n) end from sq
104 名前:新入り [2008/05/18(日) 14:02:12 ] ここに神がいると聞き www.nicovideo.jp/watch/sm3343017 ">【ニコニコ動画】ムービーメーカー編集後 aviutlにはいらない・・・
105 名前:仕様書無しさん mailto:sage [2008/05/19(月) 00:42:20 ] プログラミングのジャンルと難易度(および Web プログラミング批判) d.hatena.ne.jp/scinfaxi/20080517/1210970917
106 名前:仕様書無しさん mailto:sage [2008/05/19(月) 03:14:45 ] #include<stdio.h> void main(i){for(i=1;i<101;){ if(i%5&&i%3)printf("%d",i); printf(i%3?"":"Fizz"); printf(i++%5?"":"Buzz"); puts("");}} 俺の技量ではとても100Bytesは切れん。>>102 が神すぐる。 >>90 の73Bytesってのはどんなバケモノコードか見てみたいな。
107 名前:106 mailto:sage [2008/05/19(月) 03:15:40 ] >>90 じゃなくて>>100 だった。。
108 名前:仕様書無しさん mailto:sage [2008/05/22(木) 22:57:06 ] main(a){ while(++a<100){ printf("\n%d\r",a); if(!(a%3))printf("Fizz"); if(!(a%5))printf("Bizz"); }} 最初の改行が削れなかった。
109 名前:仕様書無しさん mailto:sage [2008/05/23(金) 02:00:16 ] なんで未初期化のまま使ってるんだろうと思ってたが、 mainの第1引数であることに今さら気づいたorz
110 名前:仕様書無しさん [2008/05/23(金) 08:30:46 ]
111 名前:仕様書無しさん mailto:sage [2008/05/23(金) 23:39:50 ] コードサイズよりバイナリサイズを削ろうよ とか思う俺はKY?
112 名前:仕様書無しさん mailto:sage [2008/05/24(土) 00:25:22 ] >>111 バイナリゴルフもやる人はやるみたい あと、ちょっと違うかもだけど、例えばあなごるなら golf.shinh.org/l.rb?out golf.shinh.org/l.rb?z8b こういうのもあるよ
113 名前:仕様書無しさん mailto:sage [2008/05/24(土) 01:42:25 ] そういやJavaScript出てなくね? <script type="text/javascript"> for(i = 1; i <=100; ++i) { if(i%3!=0 && i%5!=0) { document.write(i); } else { if(i%3==0) document.write("Fizz"); if(i%5==0) document.write("Buzz"); } document.write("<br>"); } </script>
114 名前:仕様書無しさん mailto:sage [2008/05/24(土) 12:38:59 ] main(i){while(i<101){printf("%d\r%s%s\n",i++,i%3?"":"Fizz",i%5?"":"Buzz");}}
115 名前:仕様書無しさん mailto:sage [2008/05/24(土) 22:49:43 ] >>111 KYだなぁ。たぶんお前が思ってるよりずっと大きな意味で。
116 名前:仕様書無しさん mailto:sage [2008/05/24(土) 23:57:45 ] main(i,j){printf(i%3*i%5?"%d\n":"%.*s\n",i%3*i%5?i:i%15?4:8,j+(i%3?4:0));if(i<100)main(i+1,"FizzBuzz");} main(i,j){printf(i%3*i%5?"%d\n":"%.*s\n",i%3*i%5?i:i%15?4:8,j+(i%3?4:0));i<100?main(i+1,"FizzBuzz"):0;} char *a="%d\0FizzBuzz\0Fizz";main(i){for(;i<101;i++)printf((i%15?i%3?i%5?0:7:12:3)+a,i),puts("");} main(i,a){i<101?printf((i%15?i%3?i%5?"%d":a+4:a+9:a),i),puts(""),main(i+1,"FizzBuzz\0Fizz"):0;} main(i,a){i<101?printf((i%15?i%3?i%5?"%d\n":a+10:a:a+6),i),main(i+1,"Fizz\n\0FizzBuzz\n"):0;} main(i,j){if(i<101)printf(i%3?i%5?"%d":j:j+1,i),puts(i%5?"":j+6),main(i+1,"\0Fizz\0Buzz");} main(i,j){i<101?printf(j%3?j%5?"%d":"":"Fizz",i)+puts(j%5?"":"Buzz"),main(i+1,(i+1)%15):0;} char*a="\0Buzz\0Fizz";main(i){for(;i<101;puts(!(i++%5)+a))printf(i%3?i%5?"%d":a:a+6,i);} main(i,j){if(i<101)printf(i++%3?j?"%d":"":"Fizz",i)+puts("\0Buzz"+!j),main(i,i%5);} main(i,j){i<101?printf(i++%3?j?"%d":"":"Fizz",i)+puts("\0Buzz"+!j),main(i,i%5):0;} main(i){for(;i<101;puts(i++%5?"":"Buzz"))printf(i%3*i%5?"%d":i%3?"":"Fizz",i);} main(i,j){for(;j=i%5,i<101;puts("Buzz"-!!j))printf(i++%3?j?"%d":"":"Fizz",i);} main(i,j){for(;j=i%5,i<101;puts("Buzz"-!!j))printf(i++%3?j?"%d":0:"Fizz",i);} main(i){for(;i<101;puts("\0Buzz"+!(i++%5)))printf(i%3?i%5?"%d":0:"Fizz",i);} main(i){for(;i<101;puts("Buzz"-!!(i++%5)))printf(i%3?i%5?"%d":0:"Fizz",i);} main(i){for(;i<101;puts(i++%5?"":"Buzz"))printf(i%3?i%5?"%d":"":"Fizz",i);} main(i){for(;i<101;puts(i++%5?"":"Buzz"))printf(i%3?i%5?"%d":0:"Fizz",i);} コンパイラ依存の力技含め色々やったが、どうしても74文字が限界。 73文字ってどうやるのだろう。。
117 名前:仕様書無しさん mailto:sage [2008/05/25(日) 15:14:37 ] ¥rを使うダーティーな奴がありなら、これでもいけたよ。 main(i){for(;i<101;puts(i++%5?"":"Buzz"))printf(i%3?"%d¥r":"Fizz",i);}
118 名前:仕様書無しさん mailto:sage [2008/05/26(月) 23:16:29 ] >>115 K神奈川県 Y横浜市
119 名前:仕様書無しさん mailto:sage [2008/05/29(木) 22:41:54 ] 横須賀市ですね、わかります
120 名前:仕様書無しさん mailto:sage [2008/05/30(金) 04:02:57 ] 熊本県八代市のこともたまには思い出してあげてください。
121 名前:仕様書無しさん mailto:sage [2008/06/01(日) 21:31:33 ] どう見ても京都府八幡市です。 本当にありがとうございました。
122 名前:仕様書無しさん mailto:sage [2008/06/02(月) 00:04:09 ] 京都といえば 八ツ橋だろ
123 名前:仕様書無しさん mailto:sage [2008/06/04(水) 00:45:13 ] 神戸の 洋館です
124 名前:仕様書無しさん mailto:sage [2008/06/06(金) 13:27:46 ] 腐れ ヨーグルト
125 名前:仕様書無しさん mailto:sage [2008/06/06(金) 14:57:11 ] 後楽園 遊園地
126 名前:仕様書無しさん mailto:sage [2008/09/02(火) 00:20:45 ] >>125 後楽園 遊園地で、ぼ くとあくし ゅ
127 名前:仕様書無しさん mailto:sage [2008/10/03(金) 02:33:52 ] #include <iostream> int main() { for (int i = 1; i <= 100; i++) { if ((i % 3 != 0) && (i % 5 != 0)) { std::cout << i; } else { if (i % 3 == 0) std::cout << "Fizz"; if (i % 5 == 0) std::cout << "Buzz"; } std::cout << std::endl; } }
128 名前:仕様書無しさん [2009/01/14(水) 13:48:08 ] ほしゅ
129 名前:仕様書無しさん mailto:sage [2009/01/14(水) 14:17:20 ] smalltalkキボソ
130 名前:仕様書無しさん mailto:sage [2009/01/14(水) 20:29:34 ] >>10 とりあえず何も考えずに作ったなべあつ #include<stdio.h> int include3(int i){ int q,r; q = i; while(q > 0){ r = q % 10; if(r == 3){return 1;} q /= 10; } return 0; } int main(){ int i; for(i = 1; i <= 40; ++i){ printf("%d",i); if((i % 3 == 0) || include3(i)){printf("!");} printf("\n"); } return 0; }
131 名前:仕様書無しさん mailto:sage [2009/01/14(水) 21:50:52 ] #!/bin/bash v=1 fz="Fizz" bz="Buzz" while [ $v -le 100 ]; do d="" three=`expr $v % 3` five=`expr $v % 5` if [ $three -eq 0 ]; then d="$fz" fi if [ $five -eq 0 ]; then d="$d$bz" fi if [ -z "$d" ]; then echo "$v" else echo "$d" fi v=`expr $v + 1` done
132 名前:仕様書無しさん mailto:sage [2009/01/15(木) 21:50:07 ] Smalltalk (1 to: 100) collect: [:n | | out | out := ''. n \\ 3 = 0 ifTrue: [out := out, 'Fizz']. n \\ 5 = 0 ifTrue: [out := out, 'Buzz']. out isEmpty ifTrue: [out := n]. out ]
133 名前:仕様書無しさん [2009/01/19(月) 10:19:53 ] J wd&>((0 i.~15 3 5|]){((;;])'Fizz';'Buzz'),<)"0>:i.100
134 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
135 名前:仕様書無しさん mailto:sage [2009/01/19(月) 23:08:51 ] >>134 こんな基地外、死ねばいいのに d.hatena.ne.jp/yaneurao/20080619
136 名前:仕様書無しさん mailto:sage [2009/01/20(火) 09:58:08 ] まったくだ。死ねばいいのにね。 このコピペしてる莫迦。
137 名前:仕様書無しさん [2009/01/21(水) 16:03:36 ] こんにちは、JONY.Cです。 最近夜遅くまでゲームしてしまい朝起きるのがつらいです。 夜更かしは美容と良い仕事の大敵なんでほどほどにしないと・・・。 さてさて本日からe-AMUSEMENT PASSメンバーズサイトでプレー画面のカスタマイズが、 そして携帯サイトでカスタマイズのレーンカバーが公開されました。 その中でも少々分かりにくい「THE TROOPER'S JOURNEY」の条件ですが・・・。 前回のヒントはわざとらしすぎて分かり易すぎるとチーム員からの指摘されたので 今回はプログラマらしく暗号で条件を公開したいと思います。 ----------------------- 38 3B 33 08 36 25 32 36 08 39 22 3A 69 6A 62 77 18 05 77 38 3B 33 08 24 3F 38 27 08 39 22 3A 69 6A 64 67 key=0x57 ----------------------- 上の暗号を解くと35文字の文字列になります。 その文字列が今回のレーンカバー「THE TROOPER'S JOURNEY」の出現条件のヒントになっています。 ということで時間がある方は暗号を解いてみてはどうでしょうか? プログラマじゃないとなかなか解けない暗号かもです・・・・^^; 答え合わせは次の私のブログ当番の時に覚えていたら発表します。 ・・・・とはいえ本来の目的である「THE TROOPER'S JOURNEY」の条件はうすうすばれているようですが・・・・。
138 名前:仕様書無しさん mailto:sage [2009/01/21(水) 17:39:37 ] old_area_numって何?
139 名前:仕様書無しさん mailto:sage [2009/01/21(水) 17:45:44 ] old_shop_numってなに?
140 名前:仕様書無しさん [2009/01/23(金) 11:48:33 ] >>137 一緒に音ゲー板に帰るぞ ていうかとっくに解析されてるのにいまさらマ板に持ってくるなよ
141 名前:仕様書無しさん mailto:sage [2009/01/23(金) 12:26:53 ] 「16進×35バイト」らしき元データが35文字になるとか 見え透いてる。
142 名前:仕様書無しさん mailto:sage [2009/01/24(土) 19:39:37 ] #include<stdio.h> template<int N, int N3, int N5> struct FizzBuzz; template<int N3, int N5> struct FizzBuzz<101, N3, N5> { static void f() {} }; template<int N, int N3, int N5> struct FizzBuzz<N, N3, N5> { static void f() { printf("%d\n", N); FizzBuzz<N+1, N3-1, N5-1>::f(); } }; template<int N> struct FizzBuzz<N, 0, 0> { static void f() { puts("FizzBuzz"); FizzBuzz<N+1, 2, 4>::f(); } }; template<int N, int N5> struct FizzBuzz<N, 0, N5 > { static void f() { puts("Fizz"); FizzBuzz<N+1, 2, N5-1>::f(); } }; template<int N, int N3> struct FizzBuzz<N, N3, 0> { static void f() { puts("Buzz"); FizzBuzz<N+1, N3-1, 4>::f(); } }; int main() { FizzBuzz<1, 2, 4>::f(); return 0; }
143 名前:仕様書無しさん [2009/01/25(日) 14:29:20 ] 昨日、プログラムを始めた俺がチャレンジしたが、途中でよくわかなくなってしまった。 指摘とかしてもらえる? <?php for($a = 1; $a <= 100; $a++){ if(($a % 15)===0){ print "FizzBuzz";} }elseif(($a % 3)===0){ print "Fizz"; }elseif(($a % 5)===0){ print "Buzz";} }else{ print $a;} { ?>
144 名前:仕様書無しさん mailto:sage [2009/01/25(日) 15:03:33 ] if () { print "...";} }elseif }が1つ余計じゃない?
145 名前:仕様書無しさん mailto:sage [2009/01/25(日) 15:38:05 ] >>143 あからさまに括弧の対応が変。 最初からやり直せ。
146 名前:仕様書無しさん [2009/01/25(日) 17:48:27 ] >>144 thx >>145 そうします。。thx
147 名前:仕様書無しさん mailto:sage [2009/01/25(日) 18:42:08 ] 2chに書き込むときに消えただけかもしれないけど、 ちゃんとインデントして、括弧の位置をそろえると、 無駄な作業を減らせるよ
148 名前:仕様書無しさん mailto:sage [2009/01/25(日) 23:02:54 ] viで%押せば済むだろ。
149 名前:仕様書無しさん mailto:sage [2009/01/26(月) 09:51:37 ] >>148
150 名前:仕様書無しさん mailto:sage [2009/01/27(火) 04:44:11 ] #/bin/sh N=1 while [ $N -le 100 ] do R3=`expr $N % 3` R5=`expr $N % 5` if [ $R3 -eq 0 -a $R5 -eq 0 ] then echo FizzBuzz elif [ $R3 -eq 0 ] then echo Fizz elif [ $R5 -eq 0 ] then echo Buzz else echo $N fi N=`expr $N + 1` done
151 名前:仕様書無しさん mailto:sage [2009/01/27(火) 21:53:31 ] 無駄なfork&exec大杉
152 名前:仕様書無しさん mailto:sage [2009/02/05(木) 00:42:24 ] for(int i = 1, mod3 = 3, mod5 = 5; i <= 100; i++){ if(--mod3 == 0){ mod3 = 3; System.out.print("Fizz"); } if(--mod5 == 0){ mod5 = 5; System.out.print("Buzz"); } System.out.println(mod3 == 3 || mod5 == 5 ? "" : i); }
153 名前:仕様書無しさん mailto:sage [2009/02/14(土) 17:52:59 ] Pythonで、リスト内包表記を使う以外は割と素直にやってみる。 def fizzbuzz(n): if n % 15 == 0: return 'FizzBuzz' if n % 5 == 0: return 'Buzz' if n % 3 == 0: return 'Fizz' return n for x in [fizzbuzz(n) for n in range(1,101)]: print x
154 名前:仕様書無しさん [2009/03/09(月) 22:16:08 ] // これ、もっと簡単になる? using System; using System.Linq; class Program { static void Main(string[] args) { var n = from x in Enumerable.Range(1, 100) select new { Num = x, Print = "" }; var result = from p in n join q in from x in n where x.Num % 3 == 0 select new { x.Num, Print = "Fizz" } on p.Num equals q.Num into r from s in r.DefaultIfEmpty(new { p.Num, Print = "" }) join t in from x in n where x.Num % 5 == 0 select new { x.Num, Print = "Buzz" } on s.Num equals t.Num into u from v in u.DefaultIfEmpty(new { s.Num, Print = "" }) select new { s.Num, Print = s.Print + v.Print } into w select w.Print == "" ? w.Num.ToString() : w.Print; foreach (var i in result) Console.WriteLine(i); } }
155 名前:仕様書無しさん mailto:sage [2009/03/12(木) 05:37:27 ] むしろ、よくそんな書き方が出来たなと言いたい フツーに書いた方が簡単な希ガスw
156 名前:うゆ ◆e6.oHu1j.o mailto:sage [2009/03/13(金) 20:49:29 ] Ozyでぐぐれかす
157 名前:仕様書無しさん mailto:sage [2009/03/13(金) 23:16:03 ] 失せろカス
158 名前:仕様書無しさん mailto:sage [2009/03/15(日) 23:48:00 ] #! /usr/bin/perl foreach(1..100){ print 'Fizz' if $_ % 3; print 'Buzz' if $_ % 5; print $_ unless $_ % 3 or $_ % 5; print "\n"; } 恥ずかしいくらい単純すぎるかな…
159 名前:仕様書無しさん mailto:sage [2009/03/16(月) 00:30:30 ] 恥ずかしいくらい単純なミスしてた…orz
160 名前:仕様書無しさん mailto:sage [2009/03/16(月) 07:37:32 ] 三行以上のプログラムにはバグはつきものさ
161 名前:仕様書無しさん mailto:sage [2009/03/25(水) 23:43:51 ] using System; using System.Collections.Generic; class Program { [STAThread] static void Main() { const int max = 100; var zz = new[] { new KeyValuePair<int, string>(3, "Fizz"), new KeyValuePair<int, string>(5, "Buzz") }; for (var i = 1; i <= max; i++) { var f = true; for (var j = 0; j < zz.Length; j++) { if (i % zz[j].Key == 0) { Console.Write(zz[j].Value); f = false; } } if (f) Console.Write(i); Console.WriteLine(); } } }
162 名前:仕様書無しさん mailto:sage [2009/04/17(金) 20:08:51 ] /* いまさらだけど、C言語でif無し */ #include <stdio.h> void main(void){ int i ; for(i=1 ; i<=100 ; i++){ ((i%3)==0 && (printf("Fizz"),1)) + ((i%5==0) && (printf("Buzz"),1))!=0 || printf("%d", i) ; printf("\n") ; } }
163 名前:仕様書無しさん mailto:sage [2009/04/25(土) 01:04:12 ] #include<stdio.h> void fizz(){static int i=1;if(i==0)printf("Fizz");i=(i+1)%3;} void buzz(){static int i=1;if(i==0)printf("Buzz");i=(i+1)%5;} void num() {static int i=1;if(i%3!=0&&i%5!=0)printf("%d",i);i++;} void ret() {printf("\n");} #define repeat10(x) x x x x x x x x x x int main() { repeat10(repeat10(fizz();buzz();num();ret();)); }
164 名前:仕様書無しさん mailto:sage [2009/04/25(土) 02:16:20 ] #include<stdio.h> int i=1; void fb(){printf("FizzBuzz\n");} void f(){printf("Fizz\n");} void b(){printf("Buzz\n");} void n(){printf("%d\n",i);} class f_list { public: f_list *nxt; void (*f)(); f_list(void (*x)()){nxt=NULL;f=x;} f_list *next(){f();i++;return nxt;} }; #define repeat10(x) x x x x x x x x x x int main() { f_list *p; f_list *s; s=p= new f_list(n);p->nxt= new f_list(n);p=p->nxt; p->nxt=new f_list(f);p=p->nxt;p->nxt=new f_list(n);p=p->nxt; p->nxt=new f_list(b);p=p->nxt;p->nxt=new f_list(f);p=p->nxt; p->nxt=new f_list(n);p=p->nxt;p->nxt=new f_list(n);p=p->nxt; p->nxt=new f_list(f);p=p->nxt;p->nxt=new f_list(b);p=p->nxt; p->nxt=new f_list(n);p=p->nxt;p->nxt=new f_list(n);p=p->nxt; p->nxt=new f_list(f);p=p->nxt;p->nxt=new f_list(n);p=p->nxt; p->nxt=new f_list(fb);p=p->nxt;p->nxt=s; repeat10(repeat10(s=s->next();)); }