2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

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

1 :(´・ω・`) ◆Hc1VAagKMg :2008/04/29(火) 20:06:06 .net
1から100までの数をプリントするプログラムを書け。
ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

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

言語自由

411 :仕様書無しさん:2012/10/09(火) 01:14:03.88 .net
平気で0〜99とか1〜99とかになってるコードの多さに戦慄するスレ

412 :仕様書無しさん:2012/10/09(火) 21:21:50.29 .net
Duff's Deviceはふつくしいけど見たくない。


413 :仕様書無しさん:2012/10/10(水) 00:57:25.52 .net
>>410
なんか理由あってそうやってんのかな?それとも池沼が作ったのか。

414 :仕様書無しさん:2012/10/10(水) 01:25:54.46 .net
世界には池沼が書いたコードが溢れてる
マジで溢れかえってる

415 :仕様書無しさん:2012/10/10(水) 15:20:49.27 .net
こんなcaseハックテクもある。

aho(int *crLine) {

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

}

416 :仕様書無しさん:2012/10/11(木) 02:01:10.28 .net
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;
    }
  }
}

417 :仕様書無しさん:2012/10/11(木) 04:33:26.72 .net
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

418 :仕様書無しさん:2013/09/22(日) 14:22:28.53 .net
twitter.com/paiza_official
paizaの公式アカウントの背景に
fizzbuzz問題を解け。ただし、剰余は使わないこと
という画像があったんだが、剰余を使わないで解くことってできるの?

419 :仕様書無しさん:2013/09/22(日) 14:38:34.16 .net
剰余演算子を使わない、ならこのスレにもいくつかある。

420 :仕様書無しさん:2013/09/22(日) 16:05:44.58 .net
>>419
探してみたら、確かにあった
MOD使わなくても解けるとは

421 :仕様書無しさん:2013/09/22(日) 17:14:41.12 .net
剰余を使わない、というか除算コストを嫌ったらこんな感じかなぁ

#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");
  }
 }
}

422 :仕様書無しさん:2013/09/22(日) 20:22:11.46 .net
除算命令を持たない8bitマイコンなんかだったら有りだな。

423 :仕様書無しさん:2013/09/22(日) 21:24:44.09 .net
実際に >>422 であるならともかく、
倍数が関わる問題を、剰余を使わずに解決しようyとするのは
基本的にアホではないのか

424 :仕様書無しさん:2013/09/23(月) 03:03:14.11 .net
>>423
エラトステネスの篩 disってんの?

425 :仕様書無しさん:2013/09/23(月) 15:25:42.14 .net
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>");
}

426 :仕様書無しさん:2013/09/24(火) 05:46:22.13 .net
>>424
エラトステネスの篩って、普通足し算でやるものかい?

427 :仕様書無しさん:2013/09/24(火) 09:07:38.52 .net
普通はな。チミの世界では違うのか?

428 :仕様書無しさん:2013/09/24(火) 11:49:55.37 .net
>>427
配列だと足し算、リストだと割り算、かな。

429 :仕様書無しさん:2013/09/24(火) 16:32:19.19 .net
節子、それエラトステネスの篩ちゃう>後者

430 :仕様書無しさん:2013/09/28(土) 04:30:26.70 .net
俺が一番最初に作ったのがカウンタ使う方法だった。
剰余演算を使う人がすんごく多いのに逆にちょっと驚いたよ。

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

431 :仕様書無しさん:2013/10/07(月) 07:16:35.86 .net
/* 混ぜて糞コードにしてみた */
#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;
  }
 }
}

432 :仕様書無しさん:2013/10/12(土) 00:38:14.19 .net
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);

433 :仕様書無しさん:2013/10/13(日) 10:16:06.08 .net
Python2.7で書いてみた

for x in range(1,101):print[x,'Fizz','Buzz','FizzBuzz'][(x%3<1)+(x%5<1)*2]

434 :仕様書無しさん:2013/10/17(木) 02:24:19.71 .net
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

435 :仕様書無しさん:2013/10/17(木) 02:27:53.25 .net
>>434訂正

100.times do|i|

だったorz

436 :仕様書無しさん:2013/10/17(木) 03:19:11.84 .net
pを全部aにでも訂正

437 :仕様書無しさん:2013/10/17(木) 09:34:59.61 .net
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

438 :仕様書無しさん:2013/10/18(金) 03:30:13.39 .net
モジュロ演算子使う奴=機能豊富な時代の現代っ子
割って切り上げた値と割った値を比較する奴=浮動小数点除算が早い時代の現代っ子
3つカウンタを使う奴=ベーシックなやり方にこだわるオッサン
文字列をメソッドで比較する奴=オブジェクト至高の現代っ子
再帰関数にする奴=スタックは無限にあると思ってる現代っ子
"Fizz"と"Buzz"両方出すときは1行?2行?と聞く奴=ナイス質問だが今回は気にすんな。
表示文字列と改行コードを別に出力する奴=サンプルだから気にすんなって。
出力を区切らない奴=それでもいいんだけどちょっとは気にしろよ。
asmキーワード使うやつ=素直にニーモニックだけ書けよ。
配列に100個値を入れておいて無判定で順番に出す奴=速度命の変態乙。
"Fizz"/"Buzz"と"FizzBuzz"を別に判定する奴=新人乙。
IDENTIFICATION DIVISIONから書く奴:先輩乙。
73桁目からコメントの奴:大先輩オッスオッス。

439 :仕様書無しさん:2013/10/18(金) 13:13:30.65 .net
Squeak Smalltalk
(1 to: 15) collect: [:n | ((#('' '' Fizz) atWrap: n), (#('' '' '' '' Buzz) atWrap: n)) ifEmpty: [n]]

440 :仕様書無しさん:2013/10/19(土) 14:23:53.28 .net
あー、勢いで書いたら間違ってたわ。
割って切り上げた値と割った値を比較
じゃなくて
割って切り捨てた値と割った値を比較
だわ。
逝ってくるorz

441 :仕様書無しさん:2013/10/22(火) 00:39:17.71 .net
フィボナッチ数列でFizzBuzzしようぜ

442 :仕様書無しさん:2013/10/22(火) 10:39:03.00 .net
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')

443 :仕様書無しさん:2014/12/04(木) 20:56:05.20 .net
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

444 :仕様書無しさん:2014/12/04(木) 21:48:58.99 .net
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

445 :仕様書無しさん:2015/03/11(水) 23:29:00.62 .net
<?php
echo '1 2 Fizz 4 Buzz 6 7 8 Fizz Buzz 11 12 13 14 FizzBuzz ・・・

446 :仕様書無しさん:2015/03/27(金) 16:55:02.57 .net
紙に直書きで人に見られながらだと
FizzBuzzが限界です

447 :仕様書無しさん:2015/07/30(木) 17:34:29.19 .net
フーターズコンテストジャパンで二位だったSerinaが、
黒人に輪姦されてる動画が流出したようですね。
鮮明だし最後は狂ったように泣きながらイキまくってる。
ちんこたった。
http://subject24.xyz/black025.jpg

448 :仕様書無しさん:2015/08/23(日) 17:36:10.01 .net
#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;
}

449 :仕様書無しさん:2016/01/30(土) 19:50:18.24 .net
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

450 :仕様書無しさん:2016/01/30(土) 19:51:21.22 .net
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.

451 :仕様書無しさん:2017/06/12(月) 06:40:48.51 .net
間違えているよ

452 :仕様書無しさん:2017/07/05(水) 22:57:01.46 .net
FizzBuzzくらいググりゃコードくらい出てくるしコピペ最有力コードじゃねえか

453 :仕様書無しさん:2017/12/29(金) 20:02:55.94 .net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

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

GUXZSIC6RT

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

8GEXJ

455 :仕様書無しさん:2020/03/28(土) 00:26:41 .net
ちがう

456 :仕様書無しさん:2020/05/07(木) 02:55:04 .net
Googleのエンジニア様らしいけどもFizzBuzz解けなかった
h ttps://twitter.com/d0iasm/status/1257645577321320450
h ttps://twitter.com/hikalium/status/1257641052145455104
(deleted an unsolicited ad)

457 :仕様書無しさん:2021/04/12(月) 18:13:21.96 ID:kYbhKAy7K
フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
掲載案件数1ヶ月で10,000件増加し、累計掲載案件数16万件突破!さらにリモートワークの掲載案件数5,000件突破!
https://prtimes.jp/main/html/rd/p/000000012.000038976.html
フリーランスエンジニア案件検索サイト「フリーランススタート」、Android版アプリをリリース
https://codezine.jp/article/detail/13591
フリーランス向けの求人は「テレワーク可能」が主流に 2021年は労働者の地方への移住が進む?
https://nlab.itmedia.co.jp/nl/articles/2012/25/news118.html
自由な働き方を求め10代〜20代の登録が拡大。フリーランス登録者約3.4倍に増加。
https://prtimes.jp/main/html/rd/p/000000348.000010591.html
フリーランス向け報酬即日払いサービス『先払い』申込件数5,000件突破
https://prtimes.jp/main/html/rd/p/000000048.000047439.html
ITフリーランスの独立支援サービス『テックビズ』&定額制全国住み放題『ADDress』提携開始
https://prtimes.jp/main/html/rd/p/000000035.000047639.html
リース、フリーランスのためのお部屋探しアプリ「smeta」の正式版をリリース、提携賃貸管理戸数が6万戸を突破
https://prtimes.jp/main/html/rd/p/000000032.000042693.html
家族50万円・単身30万円を支給、新潟県が「テレワーク・フリーランス移住」で応援金
https://www.bcnretail.com/market/detail/20201225_205952.html
ワーケーション会社員増加中、定額制宿泊サービス「HafH」を実体験
https://finance.yahoo.co.jp/news/detail/20201231-00257105-diamond-column

458 :仕様書無しさん:2021/04/14(水) 15:13:24.83 ID:QalMmFfrL
1ヶ月でインフラエンジニアへ!
UZUZが運営するCCNAコース
https://is.gd/rQHrnp

459 :仕様書無しさん:2021/08/08(日) 21:43:29.67 ID:D1UHOwJ0B
ココ↓は?

https://twitter.com/rokkotsukasa/status/1374706883424968711

https://twitter.com/rokkotsukasa/status/1410902330979979265

460 :仕様書無しさん:2022/03/09(水) 11:39:22.07 ID:955+rWdKX
JavaScriptでちょっと頑張ってみた

[...Array(100)].map((_,v)=>console.log((v%3-2?'':'Fizz')+(v%5-4?'':'Buzz')||v+1))

146 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★