[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 04/11 16:12 / Filesize : 123 KB / Number-of Response : 402
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラマーなら「FizzBuzz問題」解けるよな?



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

言語自由

45 名前:仕様書無しさん [2008/05/02(金) 20:43:47 ]
#include <stdio.h>

int main()
{
printf("#include <stdio.h>\n\n");
printf("int main()\n");
printf("{\n");
int i;
for (i = 1; i <= 100; i++) {
if (i % 15 == 0)
puts("\tputs(\"FizzBuzz\");");
else if (i % 3 == 0)
puts("\tputs(\"Fizz\");");
else if (i % 5 == 0)
puts("\tputs(\"Buzz\");");
else
printf("\tputs(\"%d\");\n", i);
}
printf("\treturn 0;\n");
printf("}\n");
return 0;
}

46 名前:仕様書無しさん mailto:sage [2008/05/03(土) 01:52:10 ]
>>45
だったらそのままコンパイルから実行までやっちゃおうぜ

47 名前:仕様書無しさん mailto:sage [2008/05/03(土) 09:18:27 ]
// Win限定
#include "stdio.h"
#include "process.h"

// c for vbs
void main () {
    FILE *f = fopen( "a.vbs", "w+" );
    fputs( "Dim s\r\n", f );
    for( int i = 1; i <= 100; i ++ ) {
        fprintf( f, "s = s & \"" );
        if( i % 3 == 0 ) fprintf( f, "Fizz" );
        if( i % 5 == 0 ) fprintf( f, "Buzz" );
        if( i % 3 != 0 && i % 5 != 0 ) fprintf( f, "%d", i );
        fprintf( f, "\" & vbcrlf\n" );
    }
    fprintf( f, "MsgBox(s)\r\n" );
    fclose( f );
    system( "a.vbs" );
}

48 名前:仕様書無しさん [2008/05/04(日) 05:13:53 ]
// ファイルに出力
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FizzBuzzCreator {

private static final String LS = System.getProperty("line.separator");

public static void main (String[] args) throws IOException, FileNotFoundException {

BufferedWriter bw = null;

try {
bw = new BufferedWriter(new FileWriter("FizzBuzz.java"));

bw.write("import java.io.FileWriter;" + LS);
bw.write("import java.io.FileNotFoundException;" + LS);
bw.write("import java.io.IOException;" + LS);
bw.write("import java.io.BufferedWriter;" + LS);

bw.write("public class FizzBuzz {" + LS);
bw.write("private static final String LS = System.getProperty(\"line.separator\");" + LS);
bw.write("public static void main (String[] args) throws FileNotFoundException, IOException {" + LS);
bw.write("BufferedWriter bw = new BufferedWriter(new FileWriter(\"result.txt\"));" + LS);
bw.write("int i = 0;" + LS);
bw.write("while (i++ < 100)" + LS);
bw.write("bw.write(" + LS);
bw.write("i % 15 == 0 ? \"FizzBuzz\" + LS : " + LS);
bw.write("i % 5 == 0 ? \"Buzz\" + LS : " + LS);


49 名前:仕様書無しさん [2008/05/04(日) 05:14:21 ]
// 続き
bw.write("i % 3 == 0 ? \"Fizz\" + LS : String.valueOf(i) + LS" + LS);
bw.write(");" + LS);
bw.write("bw.flush();" + LS);
bw.write("bw.close();" + LS);
bw.write("}}" + LS);

} catch (IOException e) {
e.printStackTrace();
throw e;
} finally {
bw.flush();
bw.close();
}

Runtime rt = Runtime.getRuntime();

try {
if (rt.exec("javac FizzBuzz.java").waitFor() != 0) {
throw new RuntimeException("javac faild");
}

if (rt.exec("java FizzBuzz").waitFor() != 0) {
throw new RuntimeException("java faild");
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

50 名前:仕様書無しさん mailto:sage [2008/05/04(日) 23:40:18 ]
Buzz

51 名前:仕様書無しさん mailto:sage [2008/05/05(月) 17:37:45 ]
Fizz

52 名前:仕様書無しさん [2008/05/05(月) 20:42:11 ]
fiz

53 名前:仕様書無しさん mailto:sage [2008/05/05(月) 22:37:47 ]
ひさしぶりのPG
よい子が約1時間かかった...

public class FizzBuzz{
void fizzMsd(int max,int fizz,int buzz){
theLoop: for(int counter = 1; counter <= max; counter++){
if( ( (counter % fizz) == 0 ) & ( (counter % buzz) == 0 ) ){
System.out.println("FizzBuzz");
continue theLoop;
}
if( ( (counter % fizz) == 0 ) || ( (counter % buzz) == 0 ) ){
if( (counter % fizz) == 0 ){
System.out.println("Fizz");
} else if( (counter % buzz) == 0 ){
System.out.println("Buzz");
}
} else {
System.out.println(counter);
}
}
}
public static void main(String args[]){
FizzBuzz myFB = new FizzBuzz();
myFB.fizzMsd(100,3,5);
}
}



54 名前:仕様書無しさん mailto:sage [2008/05/05(月) 23:41:08 ]
X86アセンブラ、C、C++、Java、VB辺りが出たので他のないすかー?

ぴゅう太とかリアルで動かしてくれたら泣ける。

55 名前:仕様書無しさん mailto:sage [2008/05/05(月) 23:42:56 ]
>>54
ググレカス

56 名前:仕様書無しさん mailto:sage [2008/05/05(月) 23:47:01 ]
>>55
つってもCやVB系は書いたし他のメジャーなんも出たからさぁ。
変な奴こねえかなぁ。そういやDelphiねーな。

57 名前:仕様書無しさん mailto:sage [2008/05/06(火) 00:12:55 ]
<?php
for ($i=0 ; $i<100 ; $i++ ){
$a=$i;
if (!$i%3)$a.="fizz";
if (!$i%5)$a.="buzz";
echo $a;
}
?>

58 名前:仕様書無しさん mailto:sage [2008/05/06(火) 00:46:19 ]
>>57
for( $i = 1; $i <= 100; ... ) だな。


59 名前:仕様書無しさん mailto:sage [2008/05/06(火) 04:48:24 ]
かめさん=タートル!作る。
かめさん!ペンなし。
かめさん!100 0 位置。
かめさん!180度 向き。
かめさん!ペンあり。
時計=タイマー!作る。
時計!0.1秒 間隔。
時計!100回 回数。
文字を表示する部分=フィールド!作る −40 20 位置 80 40 大きさ。
時計!「|n|
表示する文字=””。
「n%3==0」!なら「表示する文字=”フィズ”」実行。
「n%5==0」!なら「表示する文字=表示する文字!”バズ”足す」実行。
「表示する文字==””」!なら「表示する文字=n」実行。
文字を表示する部分!(表示する文字)書く。
かめさん!(色!0 (n*2.5) (n*2.5) 作る)線の色。
かめさん!(100*cos(n*10)) (−100*sin(n*10)) 位置。
かめさん!(180−(n*10)) 向き。
」実行。

60 名前:仕様書無しさん mailto:sage [2008/05/06(火) 06:44:30 ]
10 FOR L=1 TO 100
20 D=0
30 IF L MOD 3=0 THEN PRINT "FIZZ"; : D=1
40 IF L MOD 5=0 THEN PRINT "BUZZ"; : D=1
50 IF D=1 THEN PRINT "" : GOTO 70
60 PRINT L
70 NEXT L


61 名前:仕様書無しさん mailto:sage [2008/05/06(火) 06:54:09 ]
10 C3=0: C5=0
20 FOR L=1 TO 100
30 C3=C3+1+3*(C3=2) : C5=C5+1+5*(C5=4)
40 IF C3=0 THEN PRINT "FIZZ";
50 IF C5=0 THEN PRINT "BUZZ";
60 IF C3*C5=0 THEN PRINT "" ELSE PRINT L
70 NEXT L

62 名前:仕様書無しさん mailto:sage [2008/05/06(火) 08:40:48 ]
>>57
常に数値が出るぞ。要件を良く見よう。

63 名前:仕様書無しさん mailto:sage [2008/05/06(火) 09:30:12 ]
でませんでした∧||∧



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();));
}

165 名前:仕様書無しさん mailto:sage [2009/04/25(土) 06:37:45 ]
15個並べたのか

166 名前:164 mailto:sage [2009/04/25(土) 07:30:10 ]
FizzBuzzを実装できるほど優秀なプログラマであるお前らに聞きたいんだが、
最初はfb(),f(),b(),n()といった関数の戻り値を関数ポインタにして
関数自身に次の関数を返させることで循環リストを作るつもりだったんだ。

func_type f1(){ do_something;return f2;}
func_type f2(){ do_something;return f3;}
func_type f3(){ do_something;return f1;}

func_type fp=f1;
fp=fp();
fp=fp();
fp=fp();
...

でもfunc_typeをどう宣言していいかわからなかったのでf_listなんてクラスを導入せざるを得なかった。
func_typeはどうやって宣言すればいいの?そもそも無理なの?


167 名前:仕様書無しさん mailto:sage [2009/04/26(日) 19:02:12 ]
def Fizz(x):
    return 'Fizz'
def Buzz(x):
    return 'Buzz'
def FizzBuzz(x):
    return 'FizzBuzz'
def N(x):
    return x
print ','.join([str([FizzBuzz, N, N, Fizz, N, Buzz, Fizz, N, N, Fizz, Buzz, N, Fizz, N, N][i % 15](i)) for i in range(1,101)])

168 名前:仕様書無しさん mailto:sage [2009/04/26(日) 19:17:12 ]
あ〜…投稿しておいてなんだけど、str()はN(x)の中に書いた方が良かったか。
ついでに読みやすく分解。

def Fizz(x):
    return 'Fizz'
def Buzz(x):
    return 'Buzz'
def FizzBuzz(x):
    return 'FizzBuzz'
def N(x):
    return str(x)

func_list = [FizzBuzz, N, N, Fizz, N, Buzz, Fizz, N, N, Fizz, Buzz, N, Fizz, N, N]

def mapfunc(i):
    func = func_list[i % 15]
    return func(i)

ary = map(mapfunc, range(1,101))

print ','.join(ary)

169 名前:仕様書無しさん mailto:sage [2009/04/26(日) 22:49:00 ]
%sed 's/ /\  /g' fizzbuzz.cs
using System;

class Program {
    static void Main() {
        for (int n = 1, c3 = 1, c5 = 1; n <= 100; n++, c3++,
c5++) {
            bool fizz = c3 == 3;
            bool buzz = c5 == 5;
            if (fizz) {
                Console.Write("Fizz");
                c3 = 0;
            }
            if (buzz) {
                Console.Write("Buzz");
                c5 = 0;
            }
            if (! (fizz || buzz))
                Console.Write(n);
            Console.WriteLine();
        }
    }
}

170 名前:仕様書無しさん mailto:sage [2009/05/16(土) 01:04:18 ]
#include<stdio.h>

int main(void)
{
for(int i=1;i<=100;++i)
{
if(!(i%15))puts("Fizz Buzz");
else if(!(i%5))puts("Buzz");
else if(!(i%3))puts("Fizz");
else printf("%d\n",i);
}
return 0;
}

初心者がちょっとそれっぽく書いてみた

171 名前:仕様書無しさん mailto:sage [2009/05/16(土) 22:57:37 ]
>>170
それっぽくはあるけど、良いコードじゃないぞ
実装するなら、実装意図を明確にするべきで、

if (!(i%15))

この記述で無理矢理論理判断に持ち込むのは、良くない例
たしかにコレでも動くけども、
このコードでは 15で割ったあまりが ==0である、ことに意味がある
関数の戻りが0/1で戻ってくるから、それを論理判断にしているわけではない
そこをはき違えると、意図が不明確で、他人が読みづらいコードになる

172 名前:仕様書無しさん mailto:sage [2009/05/17(日) 23:12:18 ]
Cでは当たり前の記述だがな。

173 名前:仕様書無しさん mailto:sage [2009/05/17(日) 23:32:19 ]
XXでは当たり前、で思考停止してるから、糞コードが減らないんじゃね?w



174 名前:仕様書無しさん mailto:sage [2009/05/17(日) 23:36:21 ]
コードに15という定数を使っているのは今一

175 名前:仕様書無しさん mailto:sage [2009/05/18(月) 21:52:46 ]
#include<stdio.h>

int main(void)
{
for(int i=1;i<=100;++i)
{
if(i%3==0&&i%5==0)
puts("Fizz Buzz");
else if(i%5==0)
puts("Buzz");
else if(i%3==0)
puts("Fizz");
else
printf("%d",i);
}
}

初心者が意見を取り入れて普通に書いた

176 名前:仕様書無しさん mailto:sage [2009/05/20(水) 20:57:48 ]
#include<stdio.h>

#define FIZZ_MOD_NUMBER 3
#define BUZZ_MOD_NUMBER 5
#define IS_FIZZ_NUMBER(x) ((x)%FIZZ_MOD_NUMBER==0)
#define IS_BUZZ_NUMBER ((x)%BUZZ_MOD_NUMBER==0)
#define IS_FIZZ_BUZZ_NUMBER(x) (IS_FIZZ_NUMBER(x) && IS_BUZZ_NUMBER(x))
#define FIZZ_STRING "Fizz"
#define BUZZ_STRING "Buzz"
#define FIZZBUZZ_STRING FIZZ_STRING " " BUZZ_STRING

int main()
{


177 名前:仕様書無しさん mailto:sage [2009/05/20(水) 20:59:00 ]
途中で書き込んじまったorz
修正するのもメンドクサイから放置しよ。


178 名前:仕様書無しさん mailto:sage [2009/06/20(土) 18:14:32 ]
多分最速、既出?
#include <stdio.h>
void main(void)
{
int i=0,end=100;
for(;;){
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("Fizz\n"); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("Buzz\n"); //if(i==end)break;
i++; printf("Fizz\n"); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("Fizz\n"); //if(i==end)break;
i++; printf("Buzz\n"); if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("Fizz\n"); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("%d\n",i); //if(i==end)break;
i++; printf("FizzBuzz\n"); //if(i==end)break;
};
}

179 名前:178 mailto:sage [2009/06/20(土) 18:19:20 ]
あー、
100個の結果をそのままprintfした方が早いか... orz
私がバカでした

180 名前:仕様書無しさん mailto:sage [2009/06/20(土) 18:27:44 ]
これ最強。
#include <stdio.h>
void main(void)
{
printf(
"1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17,Fizz,19,Buzz,Fiz"
"z,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,Fi"
"zzBuzz,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"
);
};

181 名前:仕様書無しさん mailto:sage [2009/07/11(土) 07:42:40 ]
main(i){for(;i<101;puts("Buzz"-i*i++%5))printf(i%3?i%5?"%d":0:"Fizz",i);}

182 名前:仕様書無しさん mailto:sage [2009/07/12(日) 04:57:48 ]
>void main(void)
ここで既に警告が出てるぞ。

183 名前:仕様書無しさん mailto:sage [2009/08/04(火) 19:56:50 ]
@echo off
setlocal
set A=0

:LOOP
if %A% EQU 100 goto :END
set /a A=A+1
set /a B=A%%3
set /a C=A%%5
set /a D=B+C
if %D% EQU 0 goto :FB
IF %B% EQU 0 goto :FIZZ
IF %C% EQU 0 goto :BUZZ

echo %A%
goto :LOOP

:FIZZ
echo Fizz
goto :LOOP

:BUZZ
echo Buzz
goto :LOOP

:FB
echo FizzBuzz
goto :LOOP

:END
endlocal
@echo on



184 名前:183 mailto:sage [2009/08/04(火) 20:03:18 ]
>>183はDOS窓用バッチ



185 名前:cobol mailto:sage [2009/09/07(月) 17:08:09 ]
    identification division.
    program-id. fizzbuzz.
    environment division.
    data division.
    working-storage section.
    77 i pic 9(3).
    77 a pic 99.
    01 r3 pic 9.
     88 r3-zero value zero.
    01 r5 pic 9.
     88 r5-zero value zero.
    procedure division.
      perform varying i from 1 by 1 until i > 100
        perform fizzbuzz
      end-perform.
      stop run.
    fizzbuzz.
      divide
        3 into i giving a remainder r3
      end-divide
      divide
        5 into i giving a remainder r5
      end-divide
      if r3-zero and r5-zero then
        display "FizzBuzz" upon console
      else if r3-zero and not r5-zero then
        display "Fizz" upon console
      else if r5-zero and not r3-zero then
        display "Buzz" upon console
      else
        display i upon console
      end-if.

186 名前:仕様書無しさん mailto:sage [2009/09/08(火) 00:03:08 ]
無駄に長いなと思ったらCobolか...

187 名前:仕様書無しさん mailto:sage [2009/09/16(水) 20:54:30 ]
SQL見た時、なんか冗長だな〜COBOLみて〜、と思った。

188 名前:仕様書無しさん mailto:sage [2009/09/16(水) 23:18:17 ]
遊びがてら、出力が汚いのを作ってみた。後悔はしてない。(C言語)

(パターン1)

#include <stdio.h>
#include <memory.h>
int main(void)
{
int i = 0;
char buf[900+1];
char* ptr;
char* end = buf+900;
*end = '\0';
for (ptr=buf;ptr<end;ptr+=9) snprintf(ptr,9,"%6d \n",i++);
for (ptr=buf;ptr<end;ptr+=27) snprintf(ptr,6,"fizz ");
for (ptr=buf+4;ptr<end;ptr+=45) snprintf(ptr,4,"buzz");
printf(buf);
return 0;
}

189 名前:仕様書無しさん mailto:sage [2009/09/16(水) 23:19:50 ]
(パターン2)

#include <stdio.h>
#include <memory.h>
int main(void)
{
//fi zz bu zz _ 1 _ 2 _ fi zz _ 4 _ bu zz _ fi zz _ 7 _ 8 _ fi zz _ bu zz _ 11 _ fi zz _ 13 _ 14 _
char* a = "243410101241013412410101241341012410101";
char* b[5] = {"00","\r\n","fi","bu","zz"};
char* p = a;
while (b[0][0]<='9')
{
 if (*p=='1')
 {
   b[0][0] += (b[0][1]-'0' + 1)/10;
   b[0][1] = '0' + (b[0][1]-'0'+1) % 10;
 }
 printf(b[*p++-'0']);
 if (!*p) p = a;
}
return 0;
}


190 名前:仕様書無しさん mailto:sage [2009/09/17(木) 21:36:42 ]
なんでこの問題が有名なのかイマイチわからんのだが、
重複さえ気をつければ他に別にひっかけがあるようなもんでは無いよね。

191 名前:仕様書無しさん mailto:sage [2009/09/17(木) 22:03:23 ]
引っかけがあるように見えるので、しばらく考えるが、
実は、引っかけがないことに気付く。

これが、最大の引っかけ。

192 名前:仕様書無しさん mailto:sage [2009/09/17(木) 23:17:09 ]
>>190-191
そもそもプログラマとしての素養を見るための問題の例として挙げられたものだから
引っかけとか特に必要ないんだよ

193 名前:仕様書無しさん mailto:sage [2009/09/18(金) 23:12:18 ]
普通のプログラマなら2分以内で書けて当たり前という程度には簡単。



194 名前:仕様書無しさん mailto:sage [2009/09/19(土) 14:18:17 ]
「2分」ってよく言われるけど、
「問題用紙をめくって下さい」から、「動作確認終わりました」まで、
必ずしも2分以内に終わらないよ。
特に、自分が普段はあまり使っていないような言語では。

問題文見て、面食らってる時間とか、
改行コードの出力、全パターンで共用した方がいいのかどうか思案する時間とか、
インクルード文なんだっけ、main関数の戻り値にvoid許可されてたっけとか、
Javaのクラスパスが通ってないとかw

2分以内と言ってる人は、何度も書いてるから、2分で出来るようになっただけ。

195 名前:仕様書無しさん mailto:sage [2009/09/19(土) 14:31:04 ]
んなこたーどうでもいいんだよ

196 名前:仕様書無しさん [2009/09/19(土) 14:43:36 ]
FizzBuzz

197 名前:仕様書無しさん mailto:sage [2009/09/19(土) 14:45:47 ]
195取られた

198 名前:仕様書無しさん mailto:sage [2009/09/20(日) 15:04:59 ]
>>194
ん?言語の指定はないんだが……

199 名前:仕様書無しさん mailto:sage [2009/09/20(日) 20:44:10 ]
>>194
FizzBuzzの2分は誤訳だってよ。

200 名前:仕様書無しさん mailto:sage [2009/09/20(日) 22:37:29 ]
#pythonのリストコンプリヘンションで遊んでみた

def nvl(x,y):
  if x: return x;
  return y;

fizz = (['','','fizz']*100)[0:100];
buzz = (['','','','','buzz']*100)[0:100];
num = map(lambda x:str(x),range(1,101));

print map(nvl,map(lambda x,y:x+y,fizz,buzz),num);

201 名前:仕様書無しさん mailto:sage [2009/09/20(日) 23:13:31 ]
ちょっとだけ、悪ノリ。(C言語)

#include <stdio.h>
#include <memory.h>
int main(void)
{
int i;
char buf[8];
printf("<html><head><title>クソスレ</title></head><body><dl>");
for (i=1;i<=1001;i++)
{
  char* s1, *s2, *s3, *s4;
  sprintf(buf,"%d",i);
  s2 = "blue";
  s3 = " ";
  s4 = "投稿日: 2009/09/20(日) 23:59:59 ID:FizzBuzz";
  if (i%1001==0) { s1 = "このスレッドは1000を超え(ry"; s2="green"; s4="投稿日: Over 1000 Thread"; }
  else if (i%15==0) { s1 = "fizzbuzz"; s3="[fizzbuzz]"; }
  else if (i%3==0) { s1 = "fizz"; s3="[fizz]"; }
  else if (i%5==0) { s1 = "buzz"; s3="[buzz]"; }
  else { s1 = buf; s2 = "green"; s3 = " "; }
  printf("<dt>%d 名前:<font color=\"%s\"><b>仕様書無しさん</b>%s</font> %s</dt> ",i,s2,s3,s4);
  printf("<dd style=\"padding:1em 0em\";>%s</dd>",s1);
}
printf("</dl></body></html>");
return 0;
}

202 名前:仕様書無しさん mailto:sage [2009/09/21(月) 11:41:01 ]
>>192
プログラマの素養が関係ないような問題で素養を見ようとする意図って何なんだろうな。
結局、元のブログ主の?話題づくりに利用されているだけな気が知る

203 名前:仕様書無しさん mailto:sage [2009/09/21(月) 12:19:30 ]
元ネタ知らずにレスしてる香具師いたのか。




204 名前:ぅゅ ◆e6.oHu1j.o [2009/09/22(火) 12:13:28 ]
この問題って日本のものじゃないよね
海外っていうとレベル高そうにおもえるけど実はそうでもないんじゃ

205 名前:仕様書無しさん mailto:sage [2009/09/22(火) 12:19:23 ]
PowerShellバージョンが最強だな

206 名前:仕様書無しさん mailto:sage [2009/09/22(火) 19:19:48 ]
>>202
この問題すら解けない奴がいるって事なんじゃまいか?

207 名前:仕様書無しさん mailto:sage [2009/09/23(水) 00:08:33 ]
>>202
たとえ時間を充分にかけても正答にたどり着けないような人が
現実にはたくさん面接に来るんだよ
素養があるかどうかを見るんではなくて
素養がまるでない人をふるい落とすための簡易的な試験という位置づけ

208 名前:仕様書無しさん [2009/09/23(水) 00:23:36 ]
Fortran90

program hoge
implicit none
integer :: i
do i=1,200
if (mod(i,15).eq.0) then
print *,'Fizz Buzz'
else if (mod(i,5).eq.0) then
print *,'Buzz'
else if (mod(i,3).eq.0) then
print *,'Fizz'
else
print *,i
end if
end do
end program hoge

209 名前:仕様書無しさん mailto:sage [2009/09/24(木) 12:59:58 ]
>>203
>>1 のリンク先すら読まない莫迦が
そんだけ沢山いるってことでしょうな。

210 名前:仕様書無しさん mailto:sage [2009/09/24(木) 16:41:34 ]
スレタイ嫁、1嫁だけなら分かるけど、
1のリンク先まで必須となると、何か違うような気がする。

あと、何ていうか、「リンク先まで嫁」と、「2分以内」って、同じ部類のように思える。
自分の脳内ででっち上げた完璧さを、周囲の人に対して、期待している点において。
嫌味な言い方をすれば、配慮や謙虚さが足りないって言うか。

211 名前:仕様書無しさん mailto:sage [2009/09/25(金) 03:28:04 ]
それをたらたら書いてる時間でリンク先読むのは十分可能だよな?
元ネタは採用試験の話だ、くらいはFizzBuzzより簡単にわかるよな。
配慮や謙虚さが足りないって、むしろそっちじゃないのか。
嫌味な言い方だがな。

212 名前:仕様書無しさん mailto:sage [2009/09/25(金) 15:11:26 ]
情報の提示の仕方が悪い、
ボクちゃんは悪くない、おまえが悪い、おまえの教え方が悪い


というのは、典型的なゆとり脳の主張ですw

213 名前:仕様書無しさん [2009/10/19(月) 21:26:19 ]
出来るだけ短く
ここで一応動いたよ。→codepad.org/

#include <stdio.h>
#define p printf
main(){int i;for(i=1;i<=100;i++)if(!p("%s",p("%s%s",i%3?0:"Fizz",i%5?0:"Buzz")?"\n":0))p("%d\n",i);}





214 名前:仕様書無しさん mailto:sage [2009/10/19(月) 22:09:10 ]
これはコードゴルフじゃないんだぜ。

実行環境はなし。もしコンパイルが通らない、結果が間違っていたらその場で銃殺。

というシビアな条件で最も間違いにくいコードに最高得点をあげたい。

215 名前:仕様書無しさん [2009/10/19(月) 22:28:45 ]
その条件だと、HQ9F+で書くのが、最強か?
ttp://cfs.maxn.jp/neta/HQ9F+.html

※元になったのはHQ9+という、ネタ言語。
  Hと入力すれば、Hello worldを出力してくれる。
  ttp://ja.wikipedia.org/wiki/HQ9%2B

216 名前:コード書き忘れた mailto:sage [2009/10/19(月) 22:30:41 ]
++++++++++f

私の個人的な意見になるけど、
Fの一文字で、FizzBuzzを出力できるようにした方が、HQ9+っぽいと思うんだけどね。

217 名前:仕様書無しさん mailto:sage [2009/10/19(月) 22:45:37 ]
Cで書いたら緊張のあまりセミコロン忘れてあぼーんだなw

218 名前:Go mailto:sage [2009/11/17(火) 17:06:00 ]
package main

import "fmt"

func main() {
 for i:=1;i<101;i++ {
  s:="";
  if i%3==0 { s+="Fizz" }
  if i%5==0 { s+="Buzz" }
  if s=="" { s=fmt.Sprintf("%d",i) }
  fmt.Printf(s+"¥n")
 }
}


219 名前:仕様書無しさん mailto:sage [2009/11/17(火) 19:50:32 ]
何度見ても気持ち悪い文法だなあ

220 名前:仕様書無しさん mailto:sage [2009/11/18(水) 05:13:33 ]
for i in range(100):
if (i % 3) == 0 and (i % 5) == 0:
print u'FizzBuzz'
elif (i % 3) == 0:
print u'Fizz'
elif (i % 5) == 0:
print u'Buzz'
else:
print i


221 名前:うゆ ◆e6.oHu1j.o mailto:sage [2009/12/03(木) 05:10:19 ]

100.times do |n|
 str = String.new
 str = n%15==0?:fizzbuzz:n%5==0?:fizz:n%3==0?:buzz:""
 print "%03d:%s\n" % [n,str]
end

222 名前:仕様書無しさん mailto:sage [2010/04/21(水) 22:59:37 ]
剰余(割り算の余り)を出すのに演算子の % 以外で計算できますか?
% を忘れると大変だぞ!


223 名前:仕様書無しさん [2010/04/21(水) 23:31:11 ]
剰余 % を忘れたときに使える方法だと思う。
この問題で肝心なところは % と 「かつ」の && だな。あー恥ずかしい

class TestFizBuz {
public void mes() {
int int3 = 0;
int int5 = 0;
for (int i = 1; i <= 100; i++) {

if (int3 < i/3 && int5 < i/5) {
System.out.println("FizzBuzz: " + i);
int3 = i/3;
int5 = i/5;
} else if (int3 < i/3) {
System.out.println("Fizz: " + i);
int3 = i/3;
} else if (int5 < i/5) {
System.out.println("Buzz: " + i);
int5 = i/5;
} else {
System.out.println(i);
}

}
}
public static void main(String[] args) {
TestFizBuz tfb = new TestFizBuz();
tfb.mes();
}
}



224 名前:仕様書無しさん mailto:sage [2010/04/22(木) 00:07:26 ]
向こうの子供はハッキングしまくりだってのにお前らときたら…

【調査】13歳までにハッキングをした経験した34%――米英の若者の実態調査(10/04/15)
pc11.2ch.net/test/read.cgi/pcnews/1271336569/

225 名前:仕様書無しさん mailto:sage [2010/04/22(木) 02:12:40 ]
>>221-223
うゆw問題からしてわかってねぇwwさすが天才www
"mes"w "kard"とおんなじwwメソッドwww

226 名前:仕様書無しさん [2010/04/23(金) 00:56:20 ]
>>225
223は動作は当たっているんじゃない。
% を使用しない方法ではこれでいいんじゃない?

227 名前:仕様書無しさん mailto:sage [2010/04/23(金) 01:42:01 ]
>>224
それってさ、漏れパスを使ったとか
正しい言い方忘れたが、「スクリプト使用のガキ」も含んででない?

228 名前:仕様書無しさん mailto:sage [2010/04/23(金) 01:44:07 ]
Script kiddie ?

229 名前:仕様書無しさん mailto:sage [2010/04/23(金) 02:07:26 ]
>>226
%を使う使わない以前に結果を他のコードと比べるくらいなぜできない?
数学のテストで「計算結果は違うけど式はあってますよね」とか言うクチか。


230 名前:仕様書無しさん mailto:sage [2010/04/23(金) 02:59:12 ]
%を忘れたwという変な条件を入れたとしても、
int reminder(int divisor, int dividend)
みたいな相当するメソッドを作るだろふつー。
直近の3と5の倍数を保持して商と比べるなんてせんでも。
void型のメソッドしか認めんwのなら別だけどさ。

231 名前:仕様書無しさん mailto:sage [2010/04/23(金) 14:41:46 ]
>>229
結果は当たっているよ。書き方の問題ね。


232 名前:仕様書無しさん mailto:sage [2010/04/23(金) 14:57:18 ]
>>1
>1から100までの数をプリントするプログラムを書け。
>ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

とあるのに3や5をプリントアウトしたらただの間違いだろ。
問題をちゃんと読んでねぇアホじゃねーか。

233 名前:231 mailto:sage [2010/04/23(金) 15:26:12 ]
>>232
あー そこか




234 名前:仕様書無しさん mailto:sage [2010/04/24(土) 03:25:23 ]
223に感動した。
コード読んでも、何やってるのかワカランかったが、
int3, i/3, int5, i/5 の値を出力してみたら、発想の奇抜さにたまげた。

235 名前:234 mailto:sage [2010/04/24(土) 03:33:23 ]
233の計算テクはそのままで、変数int3,int5を取り去ったコード。

if ((i-1)/3!=i/3 && (i-1)/5!=i/5)
    { printf("FizzBuzz\n"); }
else if ((i-1)/3!=i/3)
    { printf("Fizz\n"); }
else if ((i-1)/5!=i/5)
    { printf("Buzz\n"); }
else
    { printf("%d\n",i); }


236 名前:仕様書無しさん mailto:sage [2010/04/24(土) 03:35:25 ]
訂正 ×233 ○223

あと、if ((i-1)/15!=i/15) でOKだ。

237 名前:仕様書無しさん mailto:sage [2010/04/24(土) 03:59:03 ]
iが正の整数なら剰余%は除数xについてi-(int(i/x)*x)なんだから当たり前じゃん。
%を忘れてどうこうってのがどうかしてる。馬鹿?

238 名前:仕様書無しさん mailto:sage [2010/04/24(土) 10:03:06 ]
%を忘れた人のため:その2

#include <stdio.h>
int rem3is0[16]={1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1};
int rem5is0[16]={1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1};

int compact( unsigned int n ) {
 n = ( n & 0x0f0f0f0f ) + ((n>>4)&0x0f0f0f0f);
 n = ( n & 0x00ff00ff ) + ((n>>8)&0x00ff00ff);
 n = ( n & 0x0000ffff ) + ((n>>16)&0x0000ffff);
 return ( n > 15 )? compact(n): n;
}

#define N 100
int main( ) {
 unsigned int i;
 for( i = 1; i <= N; ++i ) {
  int j = compact(i);
  if( rem3is0[j] & rem5is0[j] ) {
   printf( "FizzBuzz " );
  }
  else if( rem3is0[j] ) {
   printf( "Fizz " );
  }
  else if( rem5is0[j] ) {
   printf( "Buzz " );
  }
  else {
   printf( "%i ", i );
  }
 }
}

239 名前:仕様書無しさん mailto:sage [2010/04/24(土) 10:14:09 ]
修正: "%i " → "%u "

240 名前:仕様書無しさん mailto:sage [2010/04/24(土) 13:09:56 ]
>238の応用
その3 ifも忘れた人のため

#include <stdio.h>

char *fz[16]={"","%u ","%u ","Fizz ","%u ","Buzz ","Fizz ",
    "%u ","%u ","Fizz ","Buzz ","%u ","Fizz ","%u ","%u ","FizzBuzz "};
 
int compact( unsigned int n ) {
 n = ( n & 0x0f0f0f0f ) + ((n>>4)&0x0f0f0f0f);
 n = ( n & 0x00ff00ff ) + ((n>>8)&0x00ff00ff);
 n = ( n & 0x0000ffff ) + ((n>>16)&0x0000ffff);
 return ( n > 15 )? compact(n): n;
}

#define N 100
int main( ) {
 unsigned int i;
 for( i = 1; i <= N; ++i )printf( fz[compact(i)],i);
}


241 名前:仕様書無しさん mailto:sage [2010/04/24(土) 13:23:30 ]
>>240
いや、それだとこれと変わらなくて興が削がれるからだめだろ。
#include <stdio.h>
char *fz[16]={"","%u ","%u ","Fizz ","%u ","Buzz ","Fizz ",
"%u ","%u ","Fizz ","Buzz ","%u ","Fizz ","%u ","%u ","FizzBuzz "};
int main( ) {
 unsigned int i;
 for( i = 1; i <= 100; ++i )printf( fz[i-i/15*15],i);
}


242 名前:仕様書無しさん mailto:sage [2010/04/24(土) 13:35:29 ]
あまり変わらんけど関数テーブル版

#include <stdio.h>
#include <stdint.h>

void fb(uint32_t x){ printf( "FizzBuzz " ); }
void f(uint32_t x){ printf( "Fizz " ); }
void b(uint32_t x){ printf( "Buzz " ); }
void n(uint32_t x){ printf( "%lu ", (unsigned long)x ); }

void (*fn[4])(uint32_t) = { n, b, f, fb };
const uint32_t FN = 0xc1241843;

unsigned int compact( uint32_t n ) {
 n = ( n & 0x0f0f0f0f ) + ((n>>4)&0x0f0f0f0f);
 n = ( n & 0x00ff00ff ) + ((n>>8)&0x00ff00ff);
 n = ( n & 0x000000ff ) + ((n>>16)&0x000000ff);
 n = ( n & 0x0000000f ) + ((n>>4)&0x0000000f);
 n = ( n & 0x0000000f ) + ((n>>4)&0x0000000f);
 return n;
}

#define N 100
int main( ) {
 for( uint32_t i = 1; i <= N; ++i ) {
  (*fn[(FN>>compact(i)*2)&3])(i);
 }
}

243 名前:仕様書無しさん mailto:sage [2010/04/24(土) 21:33:16 ]
これはすごいね。
15回に1回ごとに3と5の倍数が来ることを想定して配列に代入しているという
理解でいいのかな。
class FizzBuzz {
static final String strFizBuz[] = {"","","Fizz ","","Buzz ","Fizz ",
"","","Fizz ","Buzz ","","Fizz ","","","FizzBuzz "};
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 100; i++) {
if (strFizBuz[count].equals("")) {
System.out.println(i);
count++;
} else if (strFizBuz[count].equals("Fizz ") || strFizBuz[count].equals("Buzz ")) {
System.out.println(strFizBuz[count]);
count++;
} else if (strFizBuz[count].equals("FizzBuzz ")) {
System.out.println(strFizBuz[count]);
count = 0;
}
}
}
}

簡単にするとこれでもOKでしょ



244 名前:仕様書無しさん mailto:sage [2010/04/24(土) 22:55:00 ]
>243
>15回に1回ごとに3と5の倍数が来ることを想定して配列に代入しているという
>理解でいいのかな。

全然違う。
関数compactが15で割った余りを(%演算子無しで)計算しているのがポイント。
下から4bitづつに区切って(まぁ上からでも同じだけど)、それを全部足したものと元の値では
15で割った余りが同じになることを利用している。
なぜそうなるかはちょっと頭をしぼって考えてみな

245 名前:仕様書無しさん mailto:sage [2010/04/24(土) 23:07:38 ]
10進数でmod 9が各桁の値の和に等しいってのと同じ話か。
16進数で考えてみようと思ったことが無かったぜ。

246 名前:仕様書無しさん mailto:sage [2010/04/24(土) 23:53:32 ]
明らかに%演算子より知名度低そうな知識だな…

247 名前:243 mailto:sage [2010/04/25(日) 09:43:48 ]
>>244
違っていたか。しぼって考えてみます。

248 名前:(u_・y) ◆e6.oHu1j.o mailto:sage [2010/04/26(月) 04:48:47 ]
>>225
おれが過去にかいたコードを描いたときにかんがえてた事を
予想すると、お前のその意味不明なレスもなんとなくわかるよ

おれが適当に描いた部分は、 たとえ、プログラミング知らない奴でも修正できそうなレベルだ
っていうところまではわかるか??
だれにでも解ける場所とか、自分が過去に解いた場所は適当になる
それがuy。

その適当具合は、常軌を逸しているかもしれない
問題すら適当に読むか読まないし、コンパイルチェックもしないで2chに貼り付けたりもする
たとえそれが間違っていてもどうでもいいやという気分になる



まとめると:

おれは忙しいから
無駄なことに時間は使いたくない

249 名前:仕様書無しさん mailto:sage [2010/04/26(月) 05:26:25 ]
>>246
mod 9 = 0 の場合に限れば、「全桁の数字を足すと9の倍数になる数は9の倍数」
っていう中学生でも知ってる話だぜ。

250 名前:仕様書無しさん mailto:sage [2010/04/26(月) 08:13:08 ]
言い訳にもなってねえ
流石屑ニート様

251 名前:革命家[uy] ◆rT33C51l9k mailto:sage [2010/05/01(土) 21:52:31 ]
え・・・、って思った
よほどのヴぁかか、全然初心者レベルだろお前

252 名前:仕様書無しさん mailto:sage [2010/05/02(日) 00:20:36 ]
頭大丈夫?

253 名前:革命家[uy] ◆e6.oHu1j.o mailto:sage [2010/05/04(火) 10:42:56 ]
さっさと追いつけよのろま



254 名前:仕様書無しさん mailto:sage [2010/05/04(火) 13:54:14 ]
職歴なしニートにおいつくのはもう無理なんで。。

255 名前:仕様書無しさん mailto:sage [2010/05/07(金) 19:45:27 ]
using System;
public class FizzBuzzFormat : IFormatProvider, ICustomFormatter
{
    private static char[] Z = new char[] {'Z'};
    public object GetFormat(Type formatType)
    {
        return formatType == typeof(ICustomFormatter) ? this : null;
    }
    public string Format(string format, object arg, IFormatProvider provider)
    {
        if (format == null) return String.Format("{0}", arg);
        if (format.StartsWith("Z")) {
            int n = (int) arg;
            bool m3 = n % 3 == 0, m5 = n % 5 == 0;
            return m3 ? (m5 ? "FizzBuzz" : "Fizz")
                : (m5 ? "Buzz" : n.ToString());
        }
        if (arg is IFormattable)
            return ((IFormattable)arg).ToString(format, provider);
        return arg.ToString();
    }
}
public class FizzBuzz
{
    static void Main()
    {
        var fbf = new FizzBuzzFormat();
        for (var i = 1; i <= 100; i++)
            Console.WriteLine(String.Format(fbf, "{0:Z}", i));
    }
}

256 名前:仕様書無しさん [2010/05/23(日) 02:47:37 ]
for i=1,100 do
s =""
if( i % 3 == 0 )then s="Fizz" end
if( i % 5 == 0 )then s=s.."Buzz" end
if( s == "" )then s=i end
print( s )
end

安直だなぁ、自分。

257 名前:仕様書無しさん [2010/05/23(日) 04:13:08 ]
>>256

その方法が一番だよ
シンプルイズベスト
業務のプログラムであんまり凝ったコード書かれると困る

258 名前:仕様書無しさん mailto:sage [2010/05/26(水) 18:28:21 ]
割り算や余剰を使うと計算コストが高い。
平凡にカウンタを使うほうが早い。
正しく解くだけじゃなくて高速性を考えないといけないのにわかってないアホ多すぎ

259 名前:仕様書無しさん [2010/05/26(水) 20:40:51 ]
確かにそうだけど
今の時代はI/O関係なければそんなに速度なんて変わらないから
ぱっと見でわかりやすいほうがいいだろ
いつの時代だよ

260 名前:仕様書無しさん [2010/05/26(水) 22:45:50 ]
using System;
class FizzBuzz
{
    static void Main()
    {
        var a = new[] {
            new { Multiple = 3, Indication = "Fizz" },
            new { Multiple = 5, Indication = "Buzz" }
        };
        int[] c = new int[a.Length];
        for (int i = 1; i <= 100; i++) {
            bool fb = false;
            for (int j = 0; j < a.Length; j++) {
                if (++c[j] == a[j].Multiple) {
                    Console.Write(a[j].Indication);
                    c[j] = 0;
                    fb = true;
                }
            }
            Console.WriteLine(fb ? "" : i.ToString());
        }
    }
}

261 名前:仕様書無しさん mailto:sage [2010/05/27(木) 13:32:51 ]
>>258
その労力は、検索アルゴリズムの選択とか、枝刈りとか、効果出やすい所につぎこめよw
値を記憶するのは、どうしようもなく高速化最優先の場合か、せいぜい、三角関数のテーブル化あたりだね。

262 名前:仕様書無しさん mailto:sage [2010/05/28(金) 02:01:12 ]
Python、短絡評価とジェネレータ内包表記で。

def fizz(x):
 return x % 3 == 0 and 'Fizz' or ''

def buzz(x):
 return x % 5 == 0 and 'Buzz' or ''

def fizzbuzz(x):
 return ''.join((fizz(x), buzz(x))) or str(x)

print '\n'.join(fizzbuzz(x) for x in xrange(1, 101))

263 名前:仕様書無しさん mailto:sage [2010/05/31(月) 13:22:37 ]
Pythonでとりあえず標準的に書いてみる
見れば分かるとおり、無限ループするよ

i=0
while True:
print i,
if i%3==0:
print "Fizz",
if i%5== 0:
print "Buzz",
print '\n'
i=i+1



264 名前:仕様書無しさん mailto:sage [2010/05/31(月) 13:24:29 ]
あれ?スペースが消えた
あ、全角じゃないとだめなのか
スレ汚ししてすいません

265 名前:仕様書無しさん mailto:sage [2010/05/31(月) 13:29:59 ]
>>263-264
こう書きたかったんだろうけど、iの値が常に表示されてしまう

i=0
while True:
    print i,
    if i%3==0:
        print "Fizz",
    if i%5== 0:
        print "Buzz",
    print '\n'
    i=i+1

266 名前:仕様書無しさん mailto:sage [2010/05/31(月) 13:31:13 ]
[1から100まで]ってのは仕様だからそれを満たさないと失格だよぅ


267 名前:仕様書無しさん mailto:sage [2010/05/31(月) 13:38:35 ]
すんません
for i in range(1,100):
  if i%3==0:
    print("Fizz",end='')
  if i%5==0:
    print("Buzz",end='')
  print('\n')
  i=i+1

Python3で書き直し。

268 名前:仕様書無しさん mailto:sage [2010/06/01(火) 00:11:02 ]
>>267
問題文を再確認して下さい。
時間がかかってもいいので、落ち着いて。

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz …

269 名前:仕様書無しさん mailto:sage [2010/06/01(火) 00:26:53 ]
#include <stdio.h>
#include <stdlib.h>

int fizzbuzz(int pos)
{
 if (pos%15==0) { printf("振り出しに戻る\n"); return 1; }
 else if (pos%5==0) { printf("コンビニまでパシり\n"); }
 else if (pos%3==0) { printf("服を1枚脱ぐ\n"); }
 else { printf("%d\n",pos); }
 return pos;
}

int main(void)
{
 int pos = 1, saikoro;
 randomize();
 while (pos<100)
 {
   saikoro = rand() % 6 + 1;
   printf("現在位置%d-> %d が出ました\n",pos,saikoro);
   pos = fizzbuzz(pos+saikoro);
 }
 printf("ゴール");
 return 0;
}

270 名前:仕様書無しさん mailto:sage [2010/06/01(火) 23:40:39 ]
for i in range(1,100):
  if i%3==0:
    print("Fizz",end='')
  if i%5==0:
    print("Buzz",end='')
  i=i+1

次はLuaでやろうかな

271 名前:仕様書無しさん mailto:sage [2010/06/01(火) 23:42:58 ]
ミス

for i in range(1,100):
  print(i,end=' ')
  if i%3==0:
    print("Fizz",end='')
  if i%5==0:
    print("Buzz",end='')
  print(' ')
  i=i+1

こうかな?

272 名前:仕様書無しさん mailto:sage [2010/06/02(水) 00:56:00 ]
それも駄目です。

273 名前:仕様書無しさん [2010/06/02(水) 03:23:50 ]
perl言語で
$c = 0;
while ($c < 100){
$c++;
print $c . "\n";
if (($c % 3) == 0){print " fizz\n" }
if (($c % 5) == 0){print " bizz\n" }
}




274 名前:仕様書無しさん [2010/06/02(水) 03:36:33 ]
アウトプットを修正

while ($c < 100){
$f = 0;
$c++;
unless (($c % 15) == 0 ){
if (($c % 3 ) == 0 ) {print "fizz\n"; $f = 1 }
if (($c % 5 ) == 0 ) {print "buzz\n"; $f = 1 }
}else { print "fizzbuzz\n"; $f = 1 }
if ($f == 0 ) { print $c . "\n" }
}


275 名前:仕様書無しさん [2010/06/02(水) 03:42:32 ]
274
2chの雑談程度で1分程度で書くとちょっと美しさにかけるな。
もう少し美しさを考えてみる

276 名前:仕様書無しさん mailto:sage [2010/06/02(水) 03:51:17 ]
てーか>1読んでから書けよ馬鹿

277 名前:仕様書無しさん [2010/06/02(水) 03:58:46 ]
>>276
何が間違ってる?1読んで正しい結果出てると思うんだけど。

278 名前:仕様書無しさん [2010/06/02(水) 04:01:21 ]
大文字の事?

while ($c < 100){
$f = 0;
$c++;
unless (($c % 15) == 0 ){
if (($c % 3 ) == 0 ) {print "Fizz\n"; $f = 1 }
if (($c % 5 ) == 0 ) {print "Buzz\n"; $f = 1 }
}else { print "FizzBuzz\n"; $f = 1 }
if ($f == 0 ) { print $c . "\n" }
}


279 名前:仕様書無しさん mailto:sage [2010/06/02(水) 04:05:52 ]

while ($c < 100){
$f = 0;
$c++;
if (($c % 3 ) == 0 ) {print "Fizz"; $f = 1 }
if (($c % 5 ) == 0 ) {print "Buzz"; $f = 1 }
if ($f == 0 ) { print $c }
print "¥n"
}


280 名前:仕様書無しさん [2010/06/02(水) 04:11:15 ]
>>279
ちょっと綺麗に手直ししてくれてサンクス

281 名前:仕様書無しさん mailto:sage [2010/06/02(水) 05:21:20 ]
#include<stdio.h>
int main(void){
int i;
for(i=1;i<=100;i++){
if(i%15 == 0){
printf("FizzBuzz ");
}

else if(i%3 == 0){
printf("Fizz ");
}
else if(i%5 == 0){
printf("Buzz ");
}

else{
printf("%d ",i);
}
}
return 0;
}

282 名前:仕様書無しさん [2010/06/02(水) 15:49:55 ]
print"
",($_%3?"":"Fizz").($_%5?"":"Buzz")||$_ for 1..100

最短記録48byteとかどういうことなの…

283 名前:仕様書無しさん mailto:sage [2010/06/02(水) 16:33:50 ]
while条件にi<100とか書いてる奴はクビ
range(1,100)とか書いてる奴もクビ



284 名前:仕様書無しさん mailto:sage [2010/06/02(水) 16:53:53 ]
ttp://golf.shinh.org/p.rb?FizzBuzz#ranking
ここだな

ちなみに2010/06/02現在だと、
GolfScriptの37文字が今のところ最短
Bashが意外に短くて43文字で二位
Perl6が44文字で三位
Perlが48文字で四位
z80マシンコードが49文字で五位

285 名前:仕様書無しさん mailto:sage [2010/06/02(水) 17:15:41 ]
>>282
print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..100

286 名前:仕様書無しさん [2010/06/02(水) 17:48:41 ]
>>284
それって、
1位 Bash, 2位 Perl(ver6), 3位 z80  (番外…GolfScript, HQ9F+)
のような気がする。

COBOLが、Brainf*ckやWhitespaceのようなネタ言語より、更に下…。
まあ、出力結果の414バイトよりは、小さくなるけど。

287 名前:仕様書無しさん mailto:sage [2010/06/02(水) 17:56:24 ]
…出力結果をlha圧縮したら、202バイトになった。
コマンド「lhasa a.lzh」と合わせても、213バイト。

つまり、出力結果>>>>>Esoteric(ネタ言語)>>>>>COBOL

288 名前:仕様書無しさん mailto:sage [2010/06/02(水) 18:59:05 ]
いや、COBOLってもともと冗長なの目的な言語だし。
なにいってんのおまいら。

289 名前:仕様書無しさん mailto:sage [2010/06/02(水) 20:58:14 ]
>>286
あくまでもここの仕様でのランキングだから、実質とか考える意味は無い
元々ここのランク対象外なHQ9F+を持ち出す意味も無い
COBOLが冗長なのも当たり前っちゃ当たり前
Bashっつっても実質ほぼGNU sedだから環境依存だろとか、言い出したらきりがない

290 名前:仕様書無しさん mailto:sage [2010/06/02(水) 21:02:49 ]
つーか言語の優劣ランキングと勘違いしてる奴が痛い

291 名前:仕様書無しさん mailto:sage [2010/06/03(木) 00:30:49 ]
>>288
「おまいら」っていうか、俺一人。(286=287)
この板、ID出ないんだね。

COBOLネタで釣れると思ったら、極めて常識的な意見ばかりで、がっかりだ。

292 名前:仕様書無しさん mailto:sage [2010/06/03(木) 01:24:07 ]
今さらCOBOLなんて知らない世代のほうが多いのかもよ

293 名前:仕様書無しさん mailto:sage [2010/06/03(木) 02:05:48 ]
「釣れると思ったら」は前置と後置で全く印象が変わるな



294 名前:仕様書無しさん mailto:sage [2010/06/03(木) 20:45:17 ]
ご迷惑おかけします、>>271です。
これでどうですか、ダメですか?
def fizzbuzz():
  i=1
  text=""
  while i<=100:
    if i%3==0:
     text += "Fizz"
    if i%5==0:
     text += "Buzz"
    if text=="":
      yield i
    else:
      yield text
    i+=1
    text=""

for a in fizzbuzz():
  print a,


295 名前:仕様書無しさん mailto:sage [2010/06/04(金) 00:58:12 ]
おめでとうございます

296 名前:仕様書無しさん mailto:sage [2010/06/04(金) 02:11:38 ]
ジェネレータとか使って関数分けてるのが半端に汎用的で無駄な気もするけど、似た戦略で書くなら、

def fizzbuzz(nums=range(1,101)):
 for i in nums:
  s = ""
  if i % 3 == 0:
   s += "Fizz"
  if i % 5 == 0:
   s += "Buzz"
  yield i if s == "" else s

for s in fizzbuzz():
 print s

こんな感じにするかなぁ俺だと。さらに悪乗りするなら、

def general_fizzbuzz(nums, *fv):
 for i in nums:
  s = ""
  for f, v in fv:
   if f(i):
    s += v
  yield str(i) if s == "" else s

def fizzbuzz(nums=range(1,101)):
 return general_fizzbuzz(nums,
  (lambda i: i % 3 == 0, "Fizz"),
  (lambda i: i % 5 == 0, "Buzz"),
  )

for s in fizzbuzz():
 print s

297 名前:仕様書無しさん mailto:sage [2010/06/04(金) 12:41:52 ]
100が変動することも踏まえて定数にすべきだよな

298 名前:仕様書無しさん mailto:sage [2010/06/04(金) 18:12:44 ]
for s in fizzbuzz(itertools.count(-100000)):
  print s

とかに変えたりな

299 名前:仕様書無しさん mailto:sage [2010/06/04(金) 19:06:16 ]
100は所詮デフォルトパラメータだから埋め込んでも問題なくね

300 名前:仕様書無しさん mailto:sage [2010/06/05(土) 00:08:07 ]
一方、Perlはやっぱりキチガイだった
ttp://d.hatena.ne.jp/sugyan/20100321/1269174230

301 名前:仕様書無しさん [2010/06/06(日) 01:21:02 ]
for i in range(1,101):

script = i

if (i%3==0)and(i%5==0):
script = "FizzBuzz"
elif i%3==0:
script = "Fizz"
elif i%5==0:
script = "Buzz"

print script

302 名前:仕様書無しさん mailto:sage [2010/06/06(日) 02:00:29 ]
pythonはコピペに向かない

303 名前:仕様書無しさん mailto:sage [2010/06/06(日) 23:43:14 ]
プログラマーなら「 変換プログラム」作れるよな?



304 名前:仕様書無しさん mailto:sage [2010/06/06(日) 23:53:17 ]
>>303
単にスペース置き換えるだけですね?

305 名前:仕様書無しさん [2010/06/07(月) 23:07:35 ]
俺は超高度なセキュリティ対策用データコンバータープログラム作れるぜ。
これによってXSSという世界的脅威を打破できる。

306 名前:仕様書無しさん mailto:sage [2010/06/25(金) 15:51:42 ]
dc

[sg[]]sx1[ddd3%d[Fizz]r0<xnr5%d[Buzz]r0<xn*0=xpsg1+dd101>M]dsMx

307 名前:仕様書無しさん mailto:sage [2010/07/28(水) 21:13:41 ]
あー、Cって文字列直接入れられなかったんだorz。ずっとテスターでorz状態だ

c=1;
fcint=3;
bcint=5;
max = 100;
fc=fcint;
bc=bcint;
for (c=1; c>max; c++,fc--,bc--){
f = "";
b = "";
if (fc==1){
f = "fuzz";
fc = fcint;
}
if (bc==1){
b = "buzz";
bc = bcint;
}
if (f=="" && b==""){
printf(c)
}
else{
printf(f + b)
}
}




308 名前:仕様書無しさん mailto:sage [2010/07/28(水) 23:27:57 ]
これは酷い…。

309 名前:仕様書無しさん mailto:sage [2010/07/29(木) 15:47:08 ]
#include <stdio.h> //printf使うには、インクルード文が必要
#include <string.h>
int main(void) { //main関数が必要
 int c=1; //型の宣言が必要
 int fcint=3 - 1; //同上 + 下のほうでfc==0に書き換えた分、1をマイナス (※最初に表示する数が1だから)
 int bcint=5 - 1; //同上 + 下のほうでbc==0に書き換えた分、1をマイナス
 int max = 100; //同上
 int fc=fcint; //同上
 int bc=bcint; //同上
 for (c=1; c<=max; c++,fc--,bc--){ // c<=maxにしないとループ回らないよ!!
   char* f = ""; //型の宣言が必要(C++ならstring型を使うこと)
   char* b = "";
   if (fc==0){ //3つおきじゃなくて2つおきになってたよ!!
     f = "fizz"; //fuzzじゃなくってfizz(笑)
     fc = fcint + 1;
     }
   if (bc==0){ //5つおきじゃなくて4つおきになってたよ!!
     b = "buzz";
     bc = bcint + 1;
     }
   if (strcmp(f,"")==0 && strcmp(b,"")==0){ //ポインタと空文字列を比較しないこと(C++なら元のままでOK)
     printf("%d",c); //数は直接printfできない
     }
   else{
     printf(f); printf(b); //文字列型ではないので、足し算しないこと(C++なら元のままでOK)
     }
   printf("\n"); //できれば、改行すること
   }
 return 0; //main関数の戻り値
 }

310 名前:仕様書無しさん mailto:sage [2010/07/29(木) 15:52:42 ]
ごめん、 fcint=3, bcint=5, fc=fcint-1, bc=bcint-1で、
ループ内が、fc=fcint, bc=bcintだね。
上のでも正常に動くけど。

311 名前:307 mailto:sage [2010/07/29(木) 19:09:51 ]
>>309
わお。訂正していただけて、マジ参考になりますthx
つか俺は文法勉強しなおしだー・・・

312 名前:仕様書無しさん mailto:sage [2010/09/19(日) 01:44:08 ]
main(i){for(;i-101;puts(i++%5?"":"Buzz")){printf(i%3?i%5:"%d":0:"Fizz");}

313 名前:仕様書無しさん [2010/09/20(月) 20:33:16 ]
print 1
print 2
print Fizz
print 4
print Buzz
print Fizz
...
end.



314 名前:仕様書無しさん mailto:sage [2010/09/22(水) 00:04:40 ]
>>312
printfの引数、なにそれ?

315 名前:仕様書無しさん mailto:sage [2010/09/24(金) 21:14:51 ]
とりあえず動かして見ろ

316 名前:仕様書無しさん mailto:sage [2010/09/25(土) 00:54:15 ]
バグってるって話だろ。
main(i){for(;i-101;puts(i++%5?"":"Buzz")){printf(i%3?i%5?"%d":"Buzz":"Fizz",i);}}

317 名前:仕様書無しさん mailto:sage [2010/09/25(土) 01:08:43 ]
あ、いけね俺も失敗してら。結果は見た目正常風だとは思うが。

318 名前:仕様書無しさん [2010/10/22(金) 13:04:46 ]
FizzBuzzを極めてもう2年ほどたちます。
そろそろ採用してくれる会社を紹介してください。

319 名前:仕様書無しさん mailto:sage [2010/10/23(土) 21:07:58 ]
条件@
  もっとも安く仕上げよ
条件A
  運用コストは電源を入れてから1秒あたり1ドルかかる
  システムは以下の性能
    1. キー入力は1入力あたり1秒かかる
      shiftキー等の押下・離放もカウントする
    2. 文字入力は1文字あたり1ドルかかる
    3. プログラム入力後、コンパイル・実行開始までの秒数はカウントしない
    4. 実行は1行表示ごとに1秒かかる。表示した後同じ行に上書き表示
      するようなものは、上書きの度に1秒かかる
    5. 100行目(Buzz) 表示完了時までをコスト計算する


320 名前:仕様書無しさん mailto:sage [2010/10/23(土) 23:07:51 ]
Webプログラムじゃないのに{}を省略する理由はなんだろうか?
俺が昔読んだ本では{}は省略するなとあったけど
流行かな?

321 名前:仕様書無しさん mailto:sage [2010/10/23(土) 23:43:24 ]
>>319
条件が曖昧すぎて、パズルとして成り立ってないよ
プロ奴隷使えば安くなるんじゃねw

>>320
宗教論争

322 名前:仕様書無しさん mailto:sage [2010/10/24(日) 10:36:38 ]
たしかコンパイルしたら同じだから人間が読みやすいように
括弧でわかりやすく書くとあったけど。
そういう俺もめんどくさいとき括弧を省略するけど。

323 名前:仕様書無しさん mailto:sage [2011/01/02(日) 07:37:02 ]
Cのifとかの話なのかなぁ
LinuxカーネルやGnuみたいにメジャーなところでも、ifの{}は複文じゃなければ必ず
省略すること(ネストした時を除く)というルールを採用してる超大規模コードも
あるのよ
オフサイドルールで成り立っちゃってる言語もあるくらいだから、本当は言うほどの
危険は無いのかもしれん、と思うようになってからは、省略派に鞍替えしたというか、
元々省略してた(それでバグった記憶も無かった)ので省略派に戻ったというか



324 名前:仕様書無しさん mailto:sage [2011/01/14(金) 20:35:03 ]
迷路の最短経路を求める問題が、とあるブログで出題された
okajima.air-nifty.com/b/2010/01/post-abc6.html
人材獲得作戦・4 試験問題ほか
まともなプログラマーなら幅優先探索ぐらい知ってるから当然のことながら解くことが出来るよな

325 名前:仕様書無しさん mailto:sage [2011/01/18(火) 02:22:56 ]
↑「幅優先探索」とか、答え書かないでよ…。

でも、単純な幅優先なら、計算量爆発するよね。
25分〜3時間か。FizzBuzz位ならともかく、やってらんない。ギブアップだわ。寝る。

326 名前:325 mailto:sage [2011/01/18(火) 02:37:27 ]
ゴメン、枝切りすれば、それなりに実用的な速度にはなりそうではあるね。(全部スペースとかでない限り。)
まぁ、なんか面倒臭そうなので、プライド捨てるわ。
実行時間無視の書き捨てコードとかじゃ、ダメ扱いされそうだし。

327 名前:325 mailto:sage [2011/01/18(火) 03:48:46 ]
大学は情報系でないので、力技。(全てのセルに、最初のポイントからの位置を書き込み。)
予想通り、デバッグで時間取られる。
そもそも、やる気ないから、コードは汚いし。

バカバカしくなってきたから、中断する。
「まともなプログラマーなら〜」って言葉に、どうしても反応してしまう。
挑発に乗っちゃうクセを直さないとね。

328 名前:325 mailto:sage [2011/01/18(火) 03:54:46 ]
何かイライラする。
さらっと数行で書けるものならともかく、意味の無いコード、1時間も書かされるとちょっと。
別に、芸のある出題でもないし。
スルーして、フリーソフトのメンテしとくんだったと後悔。

329 名前:325 mailto:sage [2011/01/18(火) 03:56:46 ]
一応、Cで、セルに番号振るところまで書いた。
デバッグ含め、1時間半か。
ちょっと無能かもしれんが、馬鹿にするなら、馬鹿にしてくれ。

330 名前:325 mailto:sage [2011/01/18(火) 04:44:16 ]
あ、出来た。
嫌々やるのやめて、コード整理したら、出来た。

100ステップって、ちょっと簡単に書き捨てられる量じゃない。
頭でアルゴリズム簡単に思いついても、デバッグに時間がかかるし。
「プログラマーなら出来なきゃ困る」なら、実際に書かなければならないんだから、時間のことも考えて欲しい。

あと、ブログで示されていたアルゴリズム、文系には辛いよ。
こっち系だとは思ったけど、昔、本で名前知った程度だから、ググルや参考書なしでは無理。力技しかなかった。

まあ、>>324は、スルー力検定だったのだなw

331 名前:仕様書無しさん mailto:sage [2011/01/18(火) 12:40:58 ]
リアル厨房の時に、マイクロマウスでやったな。
8bitマイコンでモータやらセンサやらの面倒を見つつ、
迷路脱出させてた。
出口が隅じゃなく、内部に有ると泣いたw

332 名前:325 mailto:sage [2011/01/18(火) 15:33:00 ]
>>331
あれって、総当り方式じゃん。左側か右側かの壁伝ってくんだっけ?


>>324の問題って、なんか、「求職者を見下したい」感がヒシヒシ伝わってきて嫌。

プログラムって、もっと、大らかに、何日もかけて、じっくり楽しむべきものなんだよね。
3時間とか、時間区切ってコーディングするのは、仕事でもない限り、邪道。
マイコンロボを試行錯誤して動かしたりとか、何日も考えてパズルの最適アルゴリズムを見出したりとか。

333 名前:仕様書無しさん mailto:sage [2011/01/18(火) 20:42:37 ]
>あれって、総当り方式じゃん。左側か右側かの壁伝ってくんだっけ?
だから、それだと出口が内部に有ると駄目だし、ループしてる柱みたいな
場所が有ると永久ループ。

一応、自分が通った経路を記憶しておいてマッピングしながら移動する
のだが、タイヤのスリップとかセンサの誤検知とか有るので、信頼度の
重み付けしながらファジーにマッピングして行く。

汚部屋と言う名の迷路を掃除するロボット、ルンバも作れなさそうだな。
中国製ランダムウォークのパチ物に負けるぞ。



334 名前:仕様書無しさん mailto:sage [2011/02/06(日) 02:07:41 ]
>>324
ためしにやってみた
hibari.2ch.net/test/read.cgi/tech/1215352849/294

>>325->>330
きにすんな
幅優先探索という言葉は知っていてもロジックを忘れてしまったから
解くのに3時間ぐらいかかった

ところで何のフリーソフト作ってる?
すごく気になるから教えて
使ってみたい


335 名前:仕様書無しさん mailto:sage [2011/02/08(火) 23:42:25 ]
>>325
幅優先探索の場合、計算時間より計算空間の方が先に破綻するんじゃ
ないかな。特にRAMの容量に限りの有る組込み制御の場合。
8bit時代は、オセロとか将棋も深さ優先探索してた。例外は森田和郎
ぐらいで、これもSSS*探索とαβ探索のハイブリッド。

336 名前:仕様書無しさん mailto:sage [2011/03/07(月) 11:10:02.94 ]
なつかしい話題発見。
全セル分のワークと若干のキューが確保できればいいんだから
そんなにメモリ圧迫するってほどでもないような。
といっても対象フィールドの広さにもよるだろうが、
例の出題程度の広さだったら破綻の心配はまずしなくていいでしょう。
各セルごとにゴール、スタート、障害物、未踏地、
既に歩いた地(「来た方向」の保持兼用)の区別がつけばいいので
ワークは各セルごとに1バイト(最低4ビット)あれば十分足りるし。
でも深さ優先探索しか知らなかった(書いたことがなかった)ので
試しに解いてみた時にはちょっと手こずってしまった。
ちなみに件の例題では深さ優先探索でも実用時間内に解けてしまう。
これって結構ワナかもな、と思った。

337 名前:仕様書無しさん mailto:sage [2011/03/18(金) 10:49:36.47 ]
空気読まずにCLOSでfizzbuzz,

(defgeneric fbzz (%3 %5 n)
(:method (%3 %5 n) (print n))
(:method ((%3 fixnum) %5 n) (print 'fizz))
(:method (%3 (%5 fixnum) n) (print 'buzz))
(:method ((%3 fixnum) (%5 fixnum) n) (print 'fizzbuzz)))

(defun fizz-buzz (n) (fbzz (/ n 3) (/ n 5) n))

(loop for i from 1 to 100 do (fizz-buzz i))

338 名前:プログラマ志望の経済学部4年生 mailto:sage [2011/06/10(金) 16:54:07.54 ]
プログラミング始めて3週間です、どうですか?
#include <stdio.h>

int main(void)
{
int a;

for (a = 1; a <= 100; a++)
{
if (a % 3 == 0 && a % 5 == 0)
printf ("FizzBuzz\n");

else if (a % 3 == 0)
printf("Fizz\n");

else if (a % 5 == 0)
printf("Buzz\n");

else
printf("%d\n", a);
}

return 0;
}


339 名前:仕様書無しさん mailto:sage [2011/06/11(土) 00:06:20.06 ]
どうですかって言われても
まぁいいんじゃね
あえて言えば平凡すぎて面白みがなくてつまらん

340 名前:仕様書無しさん [2011/06/11(土) 03:43:41.34 ]
いい機会なんで?演算子を使ってみよう

341 名前:仕様書無しさん mailto:sage [2011/06/11(土) 10:56:59.64 ]
まいど = まいど?まいどぉ:まいどぅ

342 名前:仕様書無しさん mailto:sage [2011/06/11(土) 11:19:06.80 ]
こうかな
int main(void){
char *s[4] = { "  ","Fizz","Buzz","FizzBuzz"};
int i;
for (i=1;1<=100;i++){
sprintf(s[0],"%d",i)
puts(s[(i%5==0)<<1+(i%3==0)]);
}
}
確認してないからわからんがかなり速の筈
sprintf部分を自分で書けばもっと速くなる

343 名前:仕様書無しさん mailto:sage [2011/06/11(土) 11:31:36.95 ]
こうすればもっと早いな
int main(void){
char *s[4] = { "  ","Fizz","Buzz","FizzBuzz"};
int i, j;
for (i=1;1<=100;i++){
j=(i%5==0)<<1+(i%3==0);
if(j==0)
sprintf(s[0],"%d",i);
puts(s[j]);
}
}



344 名前:仕様書無しさん mailto:sage [2011/06/11(土) 17:32:44.94 ]
無限ループするじゃん。

345 名前:仕様書無しさん mailto:sage [2011/06/11(土) 18:10:12.16 ]
1<=100はともかく、<<演算子の優先順位が+より低いのにハマってるよ。
*2にしても多分同じオブジェクトが出るとは思うけどね。

↓結果
int main(void){
 char *s[4] = { " %d¥n","Fizz¥n","Buzz¥n","FizzBuzz¥n"};
 int i;
 for (i=1;i<=100;i++)printf(s[(!(i%5)<<1)+!(i%3)],i);
}


346 名前:仕様書無しさん mailto:sage [2011/06/11(土) 21:04:59.44 ]
確認してないからわからんがかなり速の筈


347 名前:仕様書無しさん mailto:sage [2011/06/11(土) 21:07:23.93 ]
Link: codepad.org/OUmFv01u

int main(void){
char *s[4] = { "  ","Fizz","Buzz","FizzBuzz"};
int i;
for (i=1;1<=100;i++){
sprintf(s[0],"%d",i)
puts(s[(i%5==0)<<1+(i%3==0)]);
}
}

In function 'main':
Line 6: error: expected ';' before 'puts'

348 名前:仕様書無しさん mailto:sage [2011/06/11(土) 21:09:13.71 ]
Link: codepad.org/LsWu5lBF

int main(void){
char *s[4] = { "  ","Fizz","Buzz","FizzBuzz"};
int i, j;
for (i=1;1<=100;i++){
j=(i%5==0)<<1+(i%3==0);
if(j==0)
sprintf(s[0],"%d",i);
puts(s[j]);
}
}


Output:
Segmentation fault

349 名前:仕様書無しさん mailto:sage [2011/06/12(日) 02:55:39.33 ]
FizzBuzzはできて当たり前、がんばるもんじゃないんだけどな。
「どうだっ」みたいな人が会社にいて困った。

350 名前:仕様書無しさん mailto:sage [2011/06/12(日) 12:27:40.95 ]
int main(void){
char *p, c[] = " ";
char *s[] = { "","Fizz","Buzz","FizzBuzz"};
int i, j, k;

s[0] = c;
for (i=1;i<=100;i++){
j = ((i%5 == 0)<<1) + (i%3 == 0);
if(j==0) {
p = c;
k = i;
if(k >= 100) {
*p++ =k/100 +'0';
k =k%100;
}
if(k >= 10) {
*p++ =k/10 +'0';
k =k%10;
}
*p++ =k +'0';
*p = NULL;
}
puts(s[j]);
}
return 0;
}
動くようにするとこうだな
sprintfはよくわからんのではずしたわ


351 名前:仕様書無しさん mailto:sage [2011/06/12(日) 18:18:48.82 ]
平凡

use strict ;

my $m3 = 3 ;
my $m5 = 5 ;
for( my $n = 1 ; $n <= 100 ; ++$n ) {
if( $m3 == $n ) {
$m3 += 3 ;
if( $m5 == $n ) {
$m5 += 5 ;
print STDOUT "FizzBuzz\n" ;
} else {
print STDOUT "Fizz\n" ;
}
next ;
}
if( $m5 == $n ) {
$m5 += 5 ;
print STDOUT "Buzz\n" ;
next ;
}
print STDOUT $n, "\n" ;
}
exit(0) ;
__END__


352 名前:仕様書無しさん mailto:sage [2011/06/13(月) 23:12:21.79 ]
1.可変性
  このプログラムが実用になった場合、標準出力以外のものに出すよう変更の必要があると思われるが、簡単にできるよう考慮されているか
  倍数が3のみで5なしになったら?逆に両方残したまま7が増えたら?条件変わってもすぐに変更できるか
2.動作速度
  十分速いかあるいは速度アップの必要が生じた場合、どこをいじればよいか?具体的に内部でどういう動作が 行われているかわかっているか

 等をワシなら気にするな
最初黙っててできた後から上記のような質問してもすぐに対応したら、かなりできる奴だと思うわ

353 名前:仕様書無しさん mailto:sage [2011/06/14(火) 01:46:04.12 ]
いや、そもそも「かなりできる」奴か見るためのテストじゃないし。
がんばるもんじゃないったらスレ終わりじゃん。ここマ板だし。
こんな書き方もある、ってお遊びだよ?言わせんな恥ずかしいw



354 名前:仕様書無しさん mailto:sage [2011/06/15(水) 00:34:09.43 ]
♪フィズバズフィズバズよよいがよい
♪フィズバズフィズバズどどんがどん
♪三の倍数の時はフィズ
♪五の倍数の時はバズ
♪三と五の三と五の
♪公倍数ではフィズバズ印字
♪フィズバズ音頭でどどんがどん


















そこのズブズブの日本人のあなた
自然にメロディが浮かんで来たでしょ


355 名前:uy ◆yyC0rYWEq2 mailto:sage [2011/06/16(木) 22:02:56.19 ]
メタでかけよ

356 名前:仕様書無しさん mailto:sage [2011/06/17(金) 00:03:58.61 ]
>>355
お手本プリーズ


357 名前:仕様書無しさん mailto:sage [2011/06/17(金) 10:22:50.20 ]
メタと付く言語はMLとmetafontしか知らんな…


358 名前:仕様書無しさん mailto:sage [2011/06/17(金) 16:55:18.24 ]
メタで書けば3や5プリントしてもいいのかw

359 名前:仕様書無しさん mailto:sage [2011/07/07(木) 21:47:26.61 ]
haskellとcで!!と思ったら、すでに書かれてた。。。Orz
haskellの内包表記で書けないか考えてみる


360 名前:仕様書無しさん mailto:sage [2011/07/08(金) 12:32:30.06 ]
using System;

class FizzBuzz
{
    static void Main()
    {
        for (var n = 1; n <= 100; n++) {
            var f = (n % 3 == 0 ? "Fizz" : "")
                + (n % 5 == 0 ? "Buzz" : "");
            Console.WriteLine(f == "" ? "{0}" : f, n);
        }
    }
}

361 名前:仕様書無しさん mailto:sage [2011/07/08(金) 20:37:40.13 ]



これがどう問題なのか
誰か詳しく教えてくれ

913 :名無しさん@12周年 :sage :2011/07/02(土) 21:53:57.61 ID:vEYqWa5o0
>>871
アメリカで例えると
オバマ大統領がアルカイダにいる、ビンラディンの家族に資金援助していたという事で騒ぎになってる。

オバマがこっそり9.11実行犯の釈放嘆願書に署名
         ↓
オバマ「私ははめられた!!うっかり署名してしまった!  私は卑怯で残忍なテロリストを絶対許さない!!」
         ↓
オバマはイスラム原理主義の団体から多額の寄付を受け取っていた←追加分
         ↓
オバマがこっそりビンラディンの家族に毎年、計6250万円献金
         ↓
クリントンもこっそりビンラディンの家族に1000万円献金 ←ここが鳩山分★
         ↓
アメリカのメディアは全く報じず
ねーよwww






362 名前:仕様書無しさん mailto:sage [2011/07/17(日) 17:04:57.69 ]
repeat 99
mes n+cnt
if n\15=0 : mes "FizzBuzz": else {
if n\3=0 : mes "Fizz"
if n\5=0 : mes "Buzz"
}
loop

;未RUN

363 名前:仕様書無しさん mailto:sage [2011/07/21(木) 01:29:31.99 ]
ホットスーププロセッサなら

for n,1,100:s="":if n\3=0{s="Fizz"}if n\5=0{s+"Buzz"}if s=""{s=n}mes s:next



364 名前:仕様書無しさん mailto:sage [2011/07/21(木) 12:30:50.58 ]
using System;
class FizzBuzz
{
    static void Main()
    {
        int m3 = 0, m5 = 0;
        for (int i = 1; i <= 100; i++) {
            if (++m3 == 3) {
                Console.Write("Fizz");
                m3 = 0;
            }
            if (++m5 == 5) {
                Console.Write("Buzz");
                m5 = 0;
            }
            if (m3 != 0 && m5 != 0)
                Console.WriteLine(i);
            else
                Console.WriteLine();
        }
    }
}

365 名前:362 mailto:sage [2011/07/21(木) 23:31:27.81 ]
>>363
そんなかんたんにいくのね・・・

366 名前:仕様書無しさん mailto:sage [2011/08/01(月) 10:21:21.51 ]
クソコードを書きたくなったから書いてみる
print ':'.join('FizzBuzz' if n % 15 == 0 else 'Fizz' if n % 3 == 0 else 'Buzz' if n % 5 == 0 else str(n) for n in xrange(1, 101))

367 名前:仕様書無しさん mailto:sage [2011/08/01(月) 10:23:28.39 ]
\nに直すの忘れてたが多分どうでもいいな

368 名前:仕様書無しさん [2011/08/07(日) 04:17:05.04 ]
#include <stdio.h>

main(void){
int i = 0,flag = 0;
while(i < 101){
if(i % 3 == 0){
printf("Fizz");
flag = 1;
}
if(i % 5 == 0){
printf("Buzz");
flag = 1;
}
if(flag == 1){
printf("%d\n",i);
}else{
printf("\n");
}
flag = 0;
i ++;
}
}

完全独学+初心者+ゲームしか作った事ねぇ・・・
俺ダメダメかのぉ?orz

369 名前:仕様書無しさん [2011/08/07(日) 04:20:51.13 ]
見返したら色々間違えてる。なんかカオス。
俺赤面。こんな時間に眠い目こするからいけなかったんだ(言い訳

もう寝る。お休み

370 名前:仕様書無しさん mailto:sage [2011/08/07(日) 07:29:01.96 ]
本物のマなら、寝ずにデバッグする。

371 名前:仕様書無しさん mailto:sage [2011/08/07(日) 17:07:39.64 ]
真のマなら、寝て起きてからデバッグする。

372 名前:仕様書無しさん mailto:sage [2011/08/07(日) 18:05:59.34 ]
>>371
それは正しい

373 名前:仕様書無しさん mailto:sage [2011/08/07(日) 18:50:41.19 ]
俺ぐらいになると寝てる間にデバッグするね



374 名前:仕様書無しさん mailto:sage [2011/08/07(日) 20:10:30.23 ]
>>368
関数の型をうろ覚えで済ますな、ぐぐれ

ループの範囲が1から100までなんだから、素直に1と100をコードに入れられるならそうした方が見やすい
つーかループ変数の初期化とか更新とかはforを使えばもっと見やすいし、見やすければバグりにくい
最近のC/C++のforならスコープも付くしな

375 名前:仕様書無しさん [2011/08/25(木) 17:49:38.05 ]
>>352

#include <stdio.h>

int disp(int num, int flag, int sizeofarray, char *s[] ) {

if (flag == sizeofarray-1)

printf("%d\n", num) ;

else

printf("%s\n",s[flag]) ;

return 0;

}



376 名前:仕様書無しさん [2011/08/25(木) 17:52:39.16 ]
(続き)

int main(void) {

int num1 = 1 ;
int num2 = 100 ;
int sizeofarray = 4 ;
int a[] = {15,5,3,1} ;
char *s[] = { "FizzBuzz","Buzz","Fizz","  "};

int i,j ;

for (i = num1 ; i <= num2 ; i++) {

for (j = 0 ; j < sizeofarray ; j++){

if (i % a[j] == 0 ) {

break ;

}

}

disp(i,j,sizeofarray,*s[]) ;

}

return 0;

}

377 名前:仕様書無しさん [2011/08/25(木) 17:58:22.94 ]
>>352

1 可変性

標準出力以外に出力する必要が生じたときは、disp()を修正する。
また、項目を追加する必要が生じたときは、変数の初期値を変える。

2 実行速度

可変性を重視すると、その分実行速度が落ちる。


378 名前:仕様書無しさん mailto:sage [2011/08/25(木) 19:01:16.31 ]
>>375-376まで行くと、可変性を無駄に重視しすぎだろ
要求が変更されたら、コードを書き換えて対応するのは当たり前なんだから、ほどほどに書き換えが
やりやすくなってりゃいいのよ
実行効率どころか可読性まで大きく落として、まだ見ぬ要求変更の可能性に幅広く対応するのは無駄

379 名前:仕様書無しさん [2011/08/26(金) 15:09:14.82 ]
ユーザー様から、仕様の大幅変更の要求が来た。
3で割り切れたときはFizz、5で割り切れたときはBuzz、
3と5で割り切れたときはFizzBuzzでいいんだけど、
それに加えて、7のときはGizz、13のときはKizz、
3と7のときはFizzGizz、3と13のときはFizzKizz、
5と7のときはBuzzGizz、5と13のときはBuzzKizz、
7と13のときはGizzKizzだ。
それから、計算の範囲は、1から100ではなく、100から1000までね。
修正作業をすぐにやってくれ。締め切りは明日ね。

380 名前:仕様書無しさん [2011/08/26(金) 15:17:48.71 ]
int num1 = 100 ;
int num2 = 1000 ;
int sizeofarray = 11 ;
int a[] = {91,65,39,35,21,15,13,7,5,3,1} ;
char *s[] = { "GizzKizz","BuzzKizz","FizzKizz","BuzzGizz","FizzGizz","FizzBuzz","Kizz","Gizz","Buzz","Fizz","  "};

よかった。
実行効率どころか可読性まで大きく犠牲にして、
まだ見ぬ要求変更の可能性に幅広く対応したコードを書いておいて…

381 名前:仕様書無しさん mailto:sage [2011/08/26(金) 17:24:33.68 ]
そんなピンポイントな仕変出す客おるかいw

382 名前:仕様書無しさん mailto:sage [2011/08/26(金) 17:42:45.50 ]
105(3,5,7で割れる)とかどうするんだろ、って思ったけどたぶんBuzzGizzなんだろうなぁ

直接"FizzBuzz"とか書かず、割れた数から出力すれば楽だと思ったんだが、そうするとFizzBuzzGizzになっちゃうんだよなぁ
Fizz,Buzz,…の数だけフラグ用意して、立てたり立てなかったりしつつ、その後3本以上になったら小さいほうを折って…って面倒だわ

383 名前:仕様書無しさん mailto:sage [2011/08/26(金) 19:36:59.46 ]
その前にギャラの話をしようじゃないか…



384 名前:仕様書無しさん mailto:sage [2011/08/26(金) 21:33:38.93 ]
つーかその程度の変更なら、丸々書き換えても30分も要らんだろw

385 名前:仕様書無しさん mailto:sage [2011/08/27(土) 00:02:00.57 ]
面倒なだけで興味をひかないネタだな
こういうところにもその人のスキルって出るよな
よって>>379は低スキルのバカグラマー

386 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:50:52.15 ]
明らかに>>375-376に都合のいいように考えただけの仕様だもんな

387 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:55:14.40 ]
3で割り切れる時は3倍、5で割り切れる時は5倍にして表示してね、という簡単な変更要求が来た途端、
可変性が高いつもりでただ重いだけの無駄コードと化すしな

388 名前:仕様書無しさん mailto:sage [2011/08/27(土) 02:55:56.16 ]
可読性が落ちてることが一番問題じゃね?

389 名前:仕様書無しさん mailto:sage [2011/08/27(土) 15:09:54.05 ]
この程度の規模のコードで、コードの再利用を考慮しすぎるのはムダ。
仕様変更に伴って書き直した方が早い。

>>1のリンク先には
> ちゃんとしたプログラマであれば、これを実行するプログラムを
> 2分とかからずに紙に書き出せるはずだ。怖い事実を聞きたい?
> コンピュータサイエンス学科卒業生の過半数にはそれができないのだ。
> 自称上級プログラマが答えを書くのに10-15分もかかっているのを見たこともある。
とある。

2分とかからずに書き出せる程度の規模のコードで再利用とかムダムダ。
仕様変更があったら数分かけて書き直せ。

390 名前:仕様書無しさん mailto:sage [2011/08/27(土) 21:59:59.72 ]
int sizeofarray = sizeof(a) / sizeof(a[0]);
くらい書け(もちろん宣言の順序も入れ替えて)、と思ったけど、どっちにしろ配列サイズが一致しないバグ
を抱える可能性が気持ち悪いから、本気でやるなら三次元配列かstruct/classの配列にすべきか
あと、末尾のダミー文字列が気持ち悪すぎるけど、これ無くても鼻から悪魔出ないよね?

でも実際問題としては>>389に完全同意

391 名前:仕様書無しさん mailto:sage [2011/08/27(土) 22:08:29.33 ]
unsignedも付けろ

392 名前:仕様書無しさん mailto:sage [2011/08/27(土) 23:12:30.03 ]
>>391
追加料金が1人月発生しますが良いですか?

393 名前:仕様書無しさん mailto:sage [2012/02/09(木) 02:03:42.02 ]
さあ、忘れたころにやってくる。




394 名前:仕様書無しさん [2012/02/12(日) 22:03:06.96 ]
ひよこグミを参考にしながらOpenCOBOLでショートコーディングに挑戦してみました

IDENTIFICATION DIVISION.
PROGRAM-ID. FIZZBUZZ.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 N PIC 999.
PROCEDURE DIVISION.
RU-PU.
  ADD 1 TO N
  IF 0 = N(3:) OR 5 = N(3:)
    IF N = N / 3 * 3
      DISPLAY "FizzBuzz"
    ELSE
      DISPLAY "Buzz"
    END-IF
  ELSE
    IF N = N / 3 * 3
      DISPLAY "Fizz"
    ELSE
      DISPLAY N(3 - 0 ^ (9 / N):)
    END-IF
  END-IF
  IF N < 100
    GO RU-PU
  END-IF
  STOP RUN.


395 名前:仕様書無しさん mailto:sage [2012/02/13(月) 22:10:32.70 ]
RU-PU. がいいね。

396 名前:仕様書無しさん [2012/02/14(火) 01:26:49.30 ]
これでいいのかな?VB.net

Dim fizz As String = "Fizz"
Dim buzz As String = "Buzz"
Dim i As Integer

For i = 1 To 100

Dim fl As Boolean = True

If i Mod 3 = 0 Then
rtAnswer.Text &= fizz
fl = False
End If

If i Mod 5 = 0 Then
rtAnswer.Text &= buzz
fl = False
End If

If fl Then
rtAnswer.Text &= i
End If

rtAnswer.Text &= " "

If i Mod 10 = 0 Then
rtAnswer.Text &= vbCrLf
End If

Next

397 名前:仕様書無しさん mailto:sage [2012/02/14(火) 20:47:20.57 ]
>If i Mod 10 = 0 Then
???

398 名前:仕様書無しさん [2012/02/14(火) 21:31:53.79 ]
>>397
10個ごとに改行入れるってことだろ?見やすくするために

399 名前:仕様書無しさん mailto:sage [2012/02/14(火) 21:53:06.43 ]
引用のおっさんここにもいるのか

400 名前:仕様書無しさん mailto:sage [2012/02/16(木) 03:14:53.62 ]
なんだ 引用のおっさん て?

401 名前:仕様書無しさん mailto:sage [2012/04/09(月) 23:59:48.08 ]
FizzBuzzクイズ

1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"

となるようなメソッドfizz、buzzは定義可能か?
可能である場合、同様にgizzを追加定義し、
7.fizz.buzz.gizz #=> "Gizz"
21.fizz.buzz.gizz #=> "FizzGizz"
35.fizz.buzz.gizz #=> "BuzzGizz"
105.fizz.buzz.gizz #=> "FizzBuzzGizz"
105.fizz.gizz.buzz #=> "FizzGizzBuzz" と拡張・応用ができるか?

メソッドのコールに()が必須の言語では 3.fizz().buzz() 形式でも構わない。
オープンクラス機構やメソッドのない言語では関数(buzz(fizz(3)) #=> "Fizz" など)で。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<123KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef