X



プログラマーなら「FizzBuzz問題」解けるよな?
■ このスレッドは過去ログ倉庫に格納されています
0001(´・ω・`) ◆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

言語自由
0407仕様書無しさん
垢版 |
2012/10/07(日) 06:58:51.71
function kuso(n) {
 switch(n) {
  default: return n;
  case 3: return 'Fizz';
  case 5: return 'Buzz';
  case 6: return 'Fizz';
  case 9: return 'Fizz';
  case 10: return 'Buzz';
  case 12: return 'Fizz';
  case 15: return 'FizzBuzz';

とかネタで書いてたら、こういう発想のコードに実際関わる羽目に遭った時の記憶が蘇って嫌になった
0408仕様書無しさん
垢版 |
2012/10/07(日) 09:37:12.06
function kuso(n) {
 switch(n) {
  default: return n;
  case 3:
  case 6:
  case 9:
  case 12: return 'Fizz';

  case 5:
  case 10: return 'Buzz';

  case 15: return 'FizzBuzz';

でいいだろうにな
0410仕様書無しさん
垢版 |
2012/10/09(火) 00:21:09.06
>>407
三菱MDISに逝かされた時に、リアルでそんなのが3千行ぐらい延々と続く
ソースコードの改修を押し付けられたな…・。

もう二度と逝かない。
0411仕様書無しさん
垢版 |
2012/10/09(火) 01:14:03.88
平気で0〜99とか1〜99とかになってるコードの多さに戦慄するスレ
0412仕様書無しさん
垢版 |
2012/10/09(火) 21:21:50.29
Duff's Deviceはふつくしいけど見たくない。
0413仕様書無しさん
垢版 |
2012/10/10(水) 00:57:25.52
>>410
なんか理由あってそうやってんのかな?それとも池沼が作ったのか。
0414仕様書無しさん
垢版 |
2012/10/10(水) 01:25:54.46
世界には池沼が書いたコードが溢れてる
マジで溢れかえってる
0415仕様書無しさん
垢版 |
2012/10/10(水) 15:20:49.27
こんなcaseハックテクもある。

aho(int *crLine) {

switch(*crLine){
*crLine =__LINE__; return ; case __LINE__:;
*crLine =__LINE__; return ; case __LINE__:;
*crLine =__LINE__; return ; case __LINE__:;
}

}
0416仕様書無しさん
垢版 |
2012/10/11(木) 02:01:10.28
public class a {
  public static void main(String[] args) {
    for (int i = 1; i <= 100; i++) {
      String s = "";
      s = fizz(i, s);
      s = buzz(i, s);
      s = numz(i, s);
      System.out.println(s);
    }
  }
  static String fizz(int i, String s) {
    if (i % 3 == 0) {
      return s + "Fizz";
    } else {
      return s;
    }
  }
  static String buzz(int i, String s) {
    if (i % 5 == 0) {
      return s + "Buzz";
    } else {
      return s;
    }
  }
  static String numz(int i, String s) {
    if (s.length() < 1) {
      return String.valueOf(i);
    } else {
      return s;
    }
  }
}
0417仕様書無しさん
垢版 |
2012/10/11(木) 04:33:26.72
Class C
  Dim N
  Dim S
  
  Sub Main
    For N = 1 To 100
      S = ""
      Fizz : Buzz : Numz
      WScript.StdOut.WriteLine S
    Next
  End Sub
  
  Sub Fizz
    If N Mod 3 = 0 Then
      S = S & "Fizz"
    End If
  End Sub
  
  Sub Buzz
    If N Mod 5 = 0 Then
      S = S & "Buzz"
    End If
  End Sub
  
  Sub Numz
    If S = "" Then
      S = CStr(N)
    End If
  End Sub
End Class

Call New C.Main
0418仕様書無しさん
垢版 |
2013/09/22(日) 14:22:28.53
twitter.com/paiza_official
paizaの公式アカウントの背景に
fizzbuzz問題を解け。ただし、剰余は使わないこと
という画像があったんだが、剰余を使わないで解くことってできるの?
0419仕様書無しさん
垢版 |
2013/09/22(日) 14:38:34.16
剰余演算子を使わない、ならこのスレにもいくつかある。
0421仕様書無しさん
垢版 |
2013/09/22(日) 17:14:41.12
剰余を使わない、というか除算コストを嫌ったらこんな感じかなぁ

#include <stdio.h>

int main() {
 int i = 0, div3 = 0, div5 = 0;
 while (i < 100) {
  i++;
  div3++;
  div5++;
  if (div5 < 5 && div3 < 3) {
   printf("%d\n", i);
  } else if (div5 < 5) {
   div3 = 0;
   puts("Fizz");
  } else if (div3 < 3) {
   div5 = 0;
   puts("Buzz");
  } else {
   div3 = div5 = 0;
   puts("FizzBuzz");
  }
 }
}
0422仕様書無しさん
垢版 |
2013/09/22(日) 20:22:11.46
除算命令を持たない8bitマイコンなんかだったら有りだな。
0423仕様書無しさん
垢版 |
2013/09/22(日) 21:24:44.09
実際に >>422 であるならともかく、
倍数が関わる問題を、剰余を使わずに解決しようyとするのは
基本的にアホではないのか
0425仕様書無しさん
垢版 |
2013/09/23(月) 15:25:42.14
for(var i=1;i<101;i++){
var str=i;
if(i%3==0)str="Fizz";
if(i%5==0)str="Buzz";
if(i%15==0)str="FizzBuzz";
document.write(str+"<br>");
}
0430仕様書無しさん
垢版 |
2013/09/28(土) 04:30:26.70
俺が一番最初に作ったのがカウンタ使う方法だった。
剰余演算を使う人がすんごく多いのに逆にちょっと驚いたよ。

for (i = 1, j = 1, k = 1; i <= 100; i++, j++, k++) {
if (j == 3) {
printf("Fizz");
j = 0;
}
if (k == 5) {
printf("Buzz");
k = 0;
}
if (j && k) {
printf("%d", i);
}
printf("\n");
}
0431仕様書無しさん
垢版 |
2013/10/07(月) 07:16:35.86
/* 混ぜて糞コードにしてみた */
#include<stdio.h>
int main(int c,char **v){
int i,j;
 for(i=j=1;i<=100;i++,j++){
  switch(j){
  default: printf("%d\n",i); continue;
  case 3: case 6:
  case 9: case 12: printf("Fizz\n"); continue;
  case 5: case 10: printf("Buzz\n"); continue;
  case 15: j = 0; printf("FizzBuzz\n"); continue;
  }
 }
}
0432仕様書無しさん
垢版 |
2013/10/12(土) 00:38:14.19
JavaScriptの再帰関数と即時関数

(function saiki(i, max) {
if (i >= max)return;
var str = i;
if (i % 3 == 0)str = "Fizz";
if (i % 5 == 0)str = "Buzz";
if (i % 15 == 0)str = "FizzBuzz";
document.body.innerHTML += str + "<br>";
saiki(i + 1, max);
})(1, 101);
0433仕様書無しさん
垢版 |
2013/10/13(日) 10:16:06.08
Python2.7で書いてみた

for x in range(1,101):print[x,'Fizz','Buzz','FizzBuzz'][(x%3<1)+(x%5<1)*2]
0434仕様書無しさん
垢版 |
2013/10/17(木) 02:24:19.71
Ruby2.0
夜勤の暇潰しに携帯からだからミスるかも

# coding: UTF-8

100.times do(i)
if i%3==0
 p="あはーん"
elsif i%5==0
 p="うふーん"
elsif i%3==0 && i%5==0
 p="いやんエッチ"
else
 p=i+1
end

puts p
end
0435仕様書無しさん
垢版 |
2013/10/17(木) 02:27:53.25
>>434訂正

100.times do|i|

だったorz
0436仕様書無しさん
垢版 |
2013/10/17(木) 03:19:11.84
pを全部aにでも訂正
0437仕様書無しさん
垢版 |
2013/10/17(木) 09:34:59.61
rubyで割り算使わないでみたら長くなった・・・

a=[]
33.times do|i|
a.push(i+1)
end
j3,j5,cnt=0,0,1
100.times do
a.each do|b|
if cnt==3*b
j3=1
end
if cnt==5*b
j5=1
end
end
if j3==1 &amp;&amp; j5==0
mes="fizz"
elsif j5==1 &amp;&amp; j3==0
mes="buzz"
elsif j3==1 &amp;&amp; j5==1
mes="lenny kravitz"
else
mes=cnt
end
puts mes
cnt+=1
j3,j5=0,0
end
0438仕様書無しさん
垢版 |
2013/10/18(金) 03:30:13.39
モジュロ演算子使う奴=機能豊富な時代の現代っ子
割って切り上げた値と割った値を比較する奴=浮動小数点除算が早い時代の現代っ子
3つカウンタを使う奴=ベーシックなやり方にこだわるオッサン
文字列をメソッドで比較する奴=オブジェクト至高の現代っ子
再帰関数にする奴=スタックは無限にあると思ってる現代っ子
"Fizz"と"Buzz"両方出すときは1行?2行?と聞く奴=ナイス質問だが今回は気にすんな。
表示文字列と改行コードを別に出力する奴=サンプルだから気にすんなって。
出力を区切らない奴=それでもいいんだけどちょっとは気にしろよ。
asmキーワード使うやつ=素直にニーモニックだけ書けよ。
配列に100個値を入れておいて無判定で順番に出す奴=速度命の変態乙。
"Fizz"/"Buzz"と"FizzBuzz"を別に判定する奴=新人乙。
IDENTIFICATION DIVISIONから書く奴:先輩乙。
73桁目からコメントの奴:大先輩オッスオッス。
0439仕様書無しさん
垢版 |
2013/10/18(金) 13:13:30.65
Squeak Smalltalk
(1 to: 15) collect: [:n | ((#('' '' Fizz) atWrap: n), (#('' '' '' '' Buzz) atWrap: n)) ifEmpty: [n]]
0440仕様書無しさん
垢版 |
2013/10/19(土) 14:23:53.28
あー、勢いで書いたら間違ってたわ。
割って切り上げた値と割った値を比較
じゃなくて
割って切り捨てた値と割った値を比較
だわ。
逝ってくるorz
0442仕様書無しさん
垢版 |
2013/10/22(火) 10:39:03.00
Squeak Smalltalk

| fibGen fizz buzz |
fibGen := Generator on: [:g | | a b | a := 0. b := 1. [g yield: (a := b flag: (b := a+b))] repeat].
fizz := #('' '' Fizz).
buzz := #('' '' '' '' Buzz).
(1 to: 100) collect: [:idx |
  | fib |
  fib := fibGen next.
  (fizz atWrap: fib), (buzz atWrap: fib) ifEmpty: [fib]]

=> #(1 1 2 'Fizz' 'Buzz' 8 13 'Fizz' 34 'Buzz' 89 'Fizz' 233 377 'Buzz' 'Fizz' 1597 2584 4181
'FizzBuzz' 10946 17711 28657 'Fizz' 'Buzz' 121393 196418 'Fizz' 514229 'Buzz' 1346269
'Fizz' 3524578 5702887 'Buzz' 'Fizz' 24157817 39088169 63245986 'FizzBuzz' 165580141
267914296 433494437 'Fizz' 'Buzz' 1836311903 2971215073 'Fizz' 7778742049 'Buzz'
20365011074 'Fizz' 53316291173 86267571272 'Buzz' 'Fizz' 365435296162 591286729879
956722026041 'FizzBuzz' 2504730781961 4052739537881 6557470319842 'Fizz' 'Buzz'
27777890035288 44945570212853 'Fizz' 117669030460994 'Buzz' 308061521170129 'Fizz'
806515533049393 1304969544928657 'Buzz' 'Fizz' 5527939700884757 8944394323791464
14472334024676221 'FizzBuzz' 37889062373143906 61305790721611591
99194853094755497 'Fizz' 'Buzz' 420196140727489673 679891637638612258 'Fizz'
1779979416004714189 'Buzz' 4660046610375530309 'Fizz' 12200160415121876738
19740274219868223167 'Buzz' 'Fizz' 83621143489848422977 135301852344706746049
218922995834555169026 'FizzBuzz')
0443仕様書無しさん
垢版 |
2014/06/10(火) 20:23:30.08
Swift(Apple)で。

func fizzbuzz(x:UInt) {
for i in 1...x {
var s = ""
if i % 3 == 0 {
s += "Fizz"
}
if i % 5 == 0 {
s += "Buzz"
}
if s == "" {
print(" \(i)")
} else {
print(" \(s)")
}
}
}
0444仕様書無しさん
垢版 |
2014/12/04(木) 20:56:05.20
rubi

for i in 1..100 do
print 'Fizz' if i % 5 == 0
print 'Buzz' if i % 3 == 0
print i if i % 3 != 0 and i % 5 != 0
puts ''
end
0445仕様書無しさん
垢版 |
2014/12/04(木) 21:48:58.99
def fizzbuzz(times)
count = 0
while count <= times
return true
  if count % 3 == 0
puts "fizz"
return false
end
if count % 5 == 0
puts "buzz"
return false
end
if true
puts count
end
count += 1
end
end

fizzbuzz(100)

動くかどうか分からない
Ruby death
0446仕様書無しさん
垢版 |
2015/03/11(水) 23:29:00.62
<?php
echo '1 2 Fizz 4 Buzz 6 7 8 Fizz Buzz 11 12 13 14 FizzBuzz ・・・
0447仕様書無しさん
垢版 |
2015/03/27(金) 16:55:02.57
紙に直書きで人に見られながらだと
FizzBuzzが限界です
0448仕様書無しさん
垢版 |
2015/07/30(木) 17:34:29.19
フーターズコンテストジャパンで二位だったSerinaが、
黒人に輪姦されてる動画が流出したようですね。
鮮明だし最後は狂ったように泣きながらイキまくってる。
ちんこたった。
http://subject24.xyz/black025.jpg
0449仕様書無しさん
垢版 |
2015/08/23(日) 17:36:10.01
#include <iostream>
using namespace std;
int main()
{
for(int i=1; i<=100; ++i){
if(i%3 &amp;&amp; i%5) cout << i;
else{
if(!(i%3)) cout << "Fizz";
if(!(i%5)) cout << "Buzz";
}
cout << endl;
}
return 0;
}
0450仕様書無しさん
垢版 |
2016/01/30(土) 19:50:18.24
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. YARANAIKA.
000300 ENVIRONMENT DIVISION.
000400 DATA DIVISION.
000500 WORKING-STORAGE SECTION.
000600 01 I  PIC 9(3).
000700 01 HENSHU-RYOIKI.
000800  05 NUM  PIC ZZZ9.
000900 01 DUMMY-RYOIKI  PIC X(1).
001000 01 HYOJI-RYOIKI  PIC X(8).
001100 PROCEDURE DIVISION.
001200   PERFORM VARYING I FROM 1 BY 1 UNTIL IDX-01 > 100
001300    MOVE SPACE TO HYOJI-RYOIKI
001400    IF FUNCTION MOD(I 3) = ZERO
001500     MOVE
0451仕様書無しさん
垢版 |
2016/01/30(土) 19:51:21.22
001500     MOVE "FIZZ" TO HYOJI-RYOIKI
001600    END-IF
001700    IF FUNCTION MOD(I 5) = ZERO
001800     STRING
001900      HYOJI-RYOIKI DELIMITED BY SPACE
002000      "BUZZ" DELIMITED BY SIZE
002100      INTO HYOJI-RYOIKI
002200     END-STRING
002300    END-IF
002400    IF HYOJI-RYOIKI = SPACE
002500     MOVE I TO NUM
002600     UNSTRING
002700      HENSHU-RYOIKI DELIMITED BY ALL SPACE
002800      INTO DUMMY-RYOIKI HYOJI-RYOIKI
002900     END-UNSTRING
003000    END-IF
003100    DISPLAY HYOJI-RYOIKI
003200   END-PERFORM.
003300   STOP RUN.
0452仕様書無しさん
垢版 |
2017/06/12(月) 06:40:48.51
間違えているよ
0453仕様書無しさん
垢版 |
2017/07/05(水) 22:57:01.46
FizzBuzzくらいググりゃコードくらい出てくるしコピペ最有力コードじゃねえか
0454仕様書無しさん
垢版 |
2017/12/29(金) 20:02:55.94
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

GUXZSIC6RT
0455仕様書無しさん
垢版 |
2018/05/22(火) 14:54:00.47
とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

8GEXJ
0456仕様書無しさん
垢版 |
2020/03/28(土) 00:26:41.22
ちがう
0457仕様書無しさん
垢版 |
2020/05/07(木) 02:55:04.74
Googleのエンジニア様らしいけどもFizzBuzz解けなかった
h ttps://twitter.com/d0iasm/status/1257645577321320450
h ttps://twitter.com/hikalium/status/1257641052145455104
https://twitter.com/5chan_nel (5ch newer account)
■ このスレッドは過去ログ倉庫に格納されています

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