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

■ このスレッドは過去ログ倉庫に格納されています
1(´・ω・`) ◆Hc1VAagKMg
垢版 |
2008/04/29(火) 20:06:06
1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm

言語自由
2008/04/29(火) 22:54:37
>>9
無茶いうな
2008/04/29(火) 23:33:55
じゃああせんぶら。ごーつーぶんww
2008/04/29(火) 23:58:15
13
2008/04/30(水) 00:06:28
>>4は見なかったことにしてくれ・・・orz
2008/04/30(水) 00:45:02
マに立てるな
ム板だろ
2008/04/30(水) 00:50:15
16
2008/04/30(水) 00:50:55
17
2008/04/30(水) 02:49:06
String s;
for(i=1;i<=100;i++){
s="";
if(i%3==0) s="Fizz";
if(i%5==0) s+="Buzz";
if(s==""){
print(i.toString());
}else{
print(s);
}
}
2008/04/30(水) 08:48:29
19
2008/04/30(水) 10:38:22
Buzz
21仕様書無しさん
垢版 |
2008/04/30(水) 10:55:51
Fizz
2008/04/30(水) 11:43:44
FizzBuzzでは満足できないあなたに

http://www.topcoder.com/tc

大量の問題が難易度別にあるので、
初心者から上級者まで満足できます


随時参加者募集中
2008/05/01(木) 01:56:38
const char *pfizz = "fizz";
const char *pbuzz = "buzz";
const char *psuhzi = "%d"; //const char *pkaigyo = "\n";
__asm {
mov cx, 1
loop1:
push ecx
mov ax, cx
mov dl, 3h
div dl
mov bl, ah //n%3余り
mov ax, cx
mov dl, 5h
div dl
mov bh, ah //n%5余り
cmp bl,0
je fizz
cmp bh,0
jne suhzi
fizz:
cmp bl,0
jne buzz
2008/05/01(木) 01:57:38
push pfizz //fizz print
call printf
add esp,4
buzz:
cmp bh,0
jne next
push pbuzz //buzz print
call printf
add esp,4
next:
jmp end
suhzi:
pop ecx
push ecx
push ecx
push psuhzi //shizi print
call printf
add esp,8
end:
pop ecx
inc cx
cmp cx,64h +1
jnz loop1
}
2008/05/01(木) 03:52:23
無駄に長い
26(´・ω・`) ◆UmpQiG/LSs
垢版 |
2008/05/01(木) 20:47:31
/*
FizzBuzz
*/
#include <stdio.h>

int main()
{
int a = 100;
int i = 0;

for(i=1;i<=a;i++){
if( (i % 3 ) == 0 ) {
printf("Fizz");
}
if( (i % 5 ) == 0 ) {
printf("Buzz");
}
if( (i % 3) != 0 && (i % 5) != 0 ) {
printf("%d ",i);
}
printf("\n");
}
return 0;
}
27仕様書無しさん
垢版 |
2008/05/01(木) 21:33:31
static void Main(string[] args)
{
for (int i = 1; i < 101; ++i)
{
if (i % 3 == 0)
{
Console.Out.Write("Fizz");
if (i % 5 == 0)
{
Console.Out.Write("Bazz");
}
Console.Out.WriteLine("");
}
else if (i % 5 == 0)
{
Console.Out.WriteLine("Bazz");
}
else
{
Console.Out.WriteLine(i.ToString());
}
}
}
28仕様書無しさん
垢版 |
2008/05/01(木) 22:03:08
void func(void)
{
  char str[9];

  for(int i = 0; i < 100; i++) {
    memset(str, 0, sizeof(str));
    if (!(i % 3)) {
      strcpy(str, "Fizz");
    }
    if (!(i % 5)) {
      strcat(str, "Buzz");
    }
    if (str[0]) {
      printf("%s\n", str);
    }
    else {
      printf("%d\n",i);
    }
  }
}

これで手を打てw
2008/05/01(木) 22:45:13
鬼才現る!って言いたくなる様なコードを書いてくれよ
2008/05/01(木) 22:56:10
>>29
print("鬼才現る")
2008/05/01(木) 23:40:16
String fizz = "Fizz";
String buzz = "Buzz";
StringBuffer ret = new StringBuffer();
for (int i = 1; i < 101; i++) {
 if ((i % 3) == 0) {
  ret.append(fizz);
 }
 if ((i % 5) == 0) {
  ret.append(buzz);
 }
 if (ret.length() == 0) {
  System.out.println(i);
 } else {
  System.out.println(ret.toString());
  ret = new StringBuffer();
 }
}
2008/05/02(金) 07:00:50
/* 普通のコードしか思いつかねぇ */

#include <stdio.h>

int main(void) {
  int i;

  for (i = 1; i <= 100; i++) {
    if (i % 3 == 0 && i % 5 ==0)
      printf("FizzBuzz\n");
    else if (i % 3 == 0)
      printf("Fizz\n");
    else if (i % 5 == 0)
      printf("Buzz\n");
    else
      printf("%d\n", i);
  }
  return (0);
}
2008/05/02(金) 12:03:33
/* じゃあ、あまり普通じゃないコードを */

#include <stdio.h>
const char *s[] = {
 "FizzBuzz\n", "%d\n", "%d\n", "Fizz\n", "%d\n", "Buzz\n", "Fizz\n",
 "%d\n", "%d\n", "Fizz\n", "Buzz\n", "%d\n", "Fizz\n", "%d\n", "%d\n"
};
int main() {
 int i;
 for (i = 1; i <= 100; i++) {
  printf(s[i % 15], i);
 }
}
2008/05/02(金) 12:14:28
REM FizzBuzz.bat
@ECHO OFF
SETLOCAL
SET Rest=0
SET Start=1
SET End=100

SET Count=%Start%
:BEGIN
SET FizzBuzz=
CALL :CALC %Count% 3 Fizz
CALL :CALC %Count% 5 Buzz
CALL :CALC %Count% 15 FizzBuzz
IF "%FizzBuzz%"=="" (
    ECHO %Count%
) ELSE (
    ECHO %FizzBuzz%
)
SET /A Count+=1
IF %Count% GTR %End% (
    GOTO :FINISH
) ELSE (
    GOTO :BEGIN
)
:FINISH
PAUSE
EXIT

:CALC
SET /A "Rest=%1 %% %2"
IF %Rest%==0 SET FizzBuzz=%3
GOTO :EOF
2008/05/02(金) 13:12:35
Buzz
2008/05/02(金) 13:30:21
Fizz
37仕様書無しさん
垢版 |
2008/05/02(金) 13:31:58
このスレでは、3の倍数のレスでは「Fizz」、5の倍数のレスでは「Buzz」と書き込み、
それ以外ではレス番号を書き込んでください。
2008/05/02(金) 13:46:51
3の倍数か3を含む数字の時だけアホになってください。
2008/05/02(金) 13:55:46
Fizz
2008/05/02(金) 14:07:56
Buzz
2008/05/02(金) 14:10:59
41
42仕様書無しさん
垢版 |
2008/05/02(金) 19:57:48
// Fizz
public class FizzBuzz {
public static void main(String[] args) {

for (int i = 1; i <= 100; i++) {

System.out.println(
i % 15 == 0 ? "FizzBuzz" :
i % 5 == 0 ? "Buzz" :
i % 3 == 0 ? "Fizz" : i);
}
}
}
2008/05/02(金) 20:15:21
#include<stdio.h>

int main(int,char**)
{

int i = 0;

while( ++i <= 100 )
printf((i%15) ? "FizzBuzz\n" : ((i%3) ? "Fizz\n" : ((i%5) ? "Buzz\n" : "%d\n") ) , i );

return 0;
}
4443
垢版 |
2008/05/02(金) 20:17:38
逆だw

#include<stdio.h>

int main(int,char**)
{

int i = 0;

while( ++i <= 100 )
printf( (i%15) ? ( (i%3) ? ( (i%5) ? "%d\n" : "Fizz\n") : "Buzz\n" ) : "FizzBuzz\n" , i );

return 0;
}
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;
}
2008/05/03(土) 01:52:10
>>45
だったらそのままコンパイルから実行までやっちゃおうぜ
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();
}
}
}
2008/05/04(日) 23:40:18
Buzz
2008/05/05(月) 17:37:45
Fizz
52仕様書無しさん
垢版 |
2008/05/05(月) 20:42:11
fiz
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);
}
}
2008/05/05(月) 23:41:08
X86アセンブラ、C、C++、Java、VB辺りが出たので他のないすかー?

ぴゅう太とかリアルで動かしてくれたら泣ける。
2008/05/05(月) 23:42:56
>>54
ググレカス
2008/05/05(月) 23:47:01
>>55
つってもCやVB系は書いたし他のメジャーなんも出たからさぁ。
変な奴こねえかなぁ。そういやDelphiねーな。
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;
}
?>
2008/05/06(火) 00:46:19
>>57
for( $i = 1; $i <= 100; ... ) だな。
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)) 向き。
」実行。
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
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
2008/05/06(火) 08:40:48
>>57
常に数値が出るぞ。要件を良く見よう。
2008/05/06(火) 09:30:12
でませんでした∧||∧
2008/05/06(火) 09:32:46
やっぱでるな
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;
}
?>
2008/05/06(火) 09:39:04
$a=""

orz
2008/05/06(火) 10:44:45
>>64
う、うん。それでいいよ。
俺が悪かったよ。
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";
2008/05/06(火) 12:05:52
3が付く時だけFizzと言ってください
71仕様書無しさん
垢版 |
2008/05/06(火) 12:38:34
「FizzBuzz問題」でググッたけど、どのブログも「この問題をどう解くか?」
という話になっていて、元の話の「プログラムを書けない奴をどうするか?」
と言う話はほとんど出てないのな。

日本じゃどの現場でも、プログラムが全く書けない奴を抱えて困った経験など、
してないんだろうか?
2008/05/06(火) 13:14:23
>>71
うんそうだよw極例だが
部長は設計できない、実装できない、捏造完璧
課長は設計嘘っぽい、実装嘘っぽい、報告うまい
主任は実装できそう、設計できない、ごますりうまい
正社員は実装できそう、ごますりうまそう
派遣は実装できる、設計もできる

プログラムの書ける人が困るのが日本式だぜw
2008/05/06(火) 13:29:31
>>71
書けない奴はこんな問題、
ある意味歯牙にもかけないだろ
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)))
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
2008/05/06(火) 17:53:58
76
2008/05/06(火) 20:43:39
>>75
掲示板に投稿するとオフサイドルールが・・・
7875
垢版 |
2008/05/06(火) 20:45:28
>>77にいじめられたぉ

助けてほしいぉ
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 = "";
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;
}
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;
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;

}//環境無いからデバッグして無い。もしかしたら動くかも?
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
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
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);
}
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で
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);}

これ以上短くなるかな
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);}
2008/05/07(水) 20:08:11
>>90
ワロタ
三項演算子は思いついたがそんな使い方があるとは
2008/05/07(水) 21:28:49
int i;は外に出してグローバルにしないと初期値が不定になるぞ。
2008/05/07(水) 21:33:35
パソコン買って半年の超初心者の俺が何故かこのスレに来ました。


ここにいる人達はどう考えても天才ですよね?
2008/05/07(水) 23:09:24
>94
いいえ違います

ここにいる人達は毎日
おい○○、あれやっておけ
おい○○、明日までにデスマでこれデバレ
おい○○、パン買って来いあと報告書ここ修正
おい○○、出張いってこい
おい○○、よかったな某大手Nに売られるぞw

こんな感じで虐げられた下級民族以下の扱いを
毎日受けています

2008/05/07(水) 23:41:04
超初心者がこんなスレにたどり着いた方法を知りたい
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で、それを日本語に訳しただけって感じがするよ、ひまわり。
コンピュータからして英語圏発祥だから仕方ないのかなあ。
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))
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
2008/05/09(金) 17:49:03
>>90
ttp://www.shinh.org/p.rb?FizzBuzz#C

73B まで縮むっぽいよ
2008/05/14(水) 01:21:02
久しぶりにJavaでFizzBuzz問題のプログラムを書いてみたら、131バイトで書けた。
133バイトが最小だと思ってたけど、何か言語仕様変わったのかな。

試しにanarchy golfに登録してみたら、ちゃんと登録できたし
http://golf.shinh.org/p.rb?FizzBuzz
2008/05/14(水) 23:06:37
main(i){
for(;i<101;puts(i++%5?"":"Buzz"))
printf(i%3?i%5?"%d":"":"Fizz",i);
}
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
ここに神がいると聞き
http://www.nicovideo.jp/watch/sm3343017">【ニコニコ動画】ムービーメーカー編集後 aviutlにはいらない・・・
2008/05/19(月) 00:42:20
プログラミングのジャンルと難易度(および Web プログラミング批判)
http://d.hatena.ne.jp/scinfaxi/20080517/1210970917
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ってのはどんなバケモノコードか見てみたいな。
107106
垢版 |
2008/05/19(月) 03:15:40
>>90じゃなくて>>100だった。。
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");
}}

最初の改行が削れなかった。
2008/05/23(金) 02:00:16
なんで未初期化のまま使ってるんだろうと思ってたが、
mainの第1引数であることに今さら気づいたorz
110仕様書無しさん
垢版 |
2008/05/23(金) 08:30:46

■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況