「FizzBuzz問題」を含む日記 RSS

はてなキーワード: FizzBuzz問題とは

2011-09-21

FizzBuzz問題php

元ネタ

http://anond.hatelabo.jp/20070508170219

php初めて半年程度でこれ。

もっと上手いやり方があるんだろうなぁ。

$i3=1;
$i5=1;
$flag=0;

for($n=1;$n<101;$n++){
	
  if($i3==3 && $i5==5){
    echo "FizzBuzz¥n";
    $i3=1;
    $i5=1;
  }else{
    if($i3==3){
      echo "Fizz¥n";
      $i3=1;
      $flag=1;
    }else{
      $i3++;
    }
    if($i5==5){
      echo "Buzz¥n";
      $i5=1;
      $flag = 1;
    }else{
      $i5++;
    }
    if($flag==0){
      echo $n."¥n";
    }
      $flag = 0;
    }
}

※一部全角化(&¥<)

2010-08-15

http://anond.hatelabo.jp/20100815182830

なんか色々レスがついて嬉しいですねw

FizzBuzz問題って一般的に、3の倍数と5の倍数以外の場合数字を表示しないと駄目だよ

それは知りませんでした。

後、def文の中で再帰してるけど、これ、馬鹿でかい数入れたらメモリ使い切らないか?

Phythonは詳しくないから、嘘言ってるかも知れないけど

他には、何も15で場合分けしなくても、改行しなければ3の倍数と5の倍数とそれ以外で済むから

剰余演算の回数が減る

この辺はいかにも興味が無い領域ですねw

メモリは多分使い切ると思いますが、使い切った場合とかめんどくさくて考えたくないです。

他には、何も15で場合分けしなくても、改行しなければ3の倍数と5の倍数とそれ以外で済むから

剰余演算の回数が減る

これも興味ないですね…。計算回数って、数学数理モデル)を計算機に乗せたから出てきた問題で、実用上は重要だけど数学としてはどうでもいいなあって思っちゃいます。

http://anond.hatelabo.jp/20100815180817

どうでも良いと言えば、どうでも良いんだけど

FizzBuzz問題って一般的に、3の倍数と5の倍数以外の場合数字を表示しないと駄目だよ


後、def文の中で再帰してるけど、これ、馬鹿でかい数入れたらメモリ使い切らないか?

Phythonは詳しくないから、嘘言ってるかも知れないけど


他には、何も15で場合分けしなくても、改行しなければ3の倍数と5の倍数とそれ以外で済むから

剰余演算の回数が減る


数式書くの好きなら計算量減らすのは重要なんでない?

2010-08-13

http://anond.hatelabo.jp/20100813012328

ごめん!

FizzBuzz問題解く以前に何なのか知らなかったよwww

無知すぎて失格だな俺orz

2009-03-28

phpspotやIDEA*IDEA中の人FizzBuzz問題を解けるのか(T/O)

(Title Only)

2008-12-15

ナベアツFizzBuzz問題だった

これひらめいた人はえらい。

2008-10-31

http://anond.hatelabo.jp/20081031131100

情報科学」って曖昧だから、「情報工学」って言おうぜ!

文系でもその気になれば身につくの?

情報科学って

何とかなると思うよ。

wikipediaの情報工学の「基礎的な理論」とか「ソフトウェア技術」とかを一通り読んで、

「そういうものがあるんだ」と引き出しに確保しておく。理解するのは年単位の後回しでも十分。

何かプログラム言語を使って、Fizzbuzz問題とかの簡単な課題を解く。

参考書や入門サイトを見つつ、でも直接答えを見ずに実装する。

手っ取り早く仕事にしたいなら、JavaDBを使ったWEB掲示板でも作ってみてもいい。

入門サイトなんて世の中にあふれてるから、学習コストは低いお!!


経験上、法学をかじった人は飲み込みが早いです。というか負けそうです。

法学プログラムも、定義したルールベースにするシステム論だからね。

2007-11-12

WEBプログラマ批判

http://www.itmedia.co.jp/bizid/articles/0711/07/news012.html

"田口元の「ひとりで作るネットサービス」探訪「twitterMobile」はどうやって生まれたのか"を読んでいて湧き出た感情を発露したくなった。

素晴らしいソフトウェアを生み出せるプログラマはそれ相応の評価を受けるべきだが、WEBプログラマというのはレベルと評価が噛み合っていなくて気持ちが悪い。

あくまでリンク先は対象者が絶賛されているようなものではなく、どっちかというとamachang氏やmala氏との絡みで取り上げられていることはわかる。それでも、ただのHTMLの下請け作業を"マークアップエンジニア"といい、真剣に半年も勉強すれば到達出来るレベルで"サービス開発者"として持ち上げる土壌があることが、どう考えてもおかしい業界だと感じる。もちろん、そういう段階を経て有能なプログラマが生まれることは大いにあるだろうが、WEBプログラマの敷居は低い分だけに、業界直結のネット上にレベルの低い人間が取り上げられやすすぎだろ。そしてはてブを見ると、それを仲間内で持ち上げてる。こんな状態では、レベルの低い馴れ合いでしかない。

自分は別業種においてプログラミングは道具の1つとして使っているレベルであるが、本当に評価されるべきプログラマというのは、そんな自分程度ではどうやっているのかわからない事を魔法のようにやってのける連中の事だ。こういう人間は誰でもは真似できない技術の持ち主だから、プロと言える。

その一方で、身につく期間も技術の交代も早いインターネット上で、小手先だけのWEBプログラマが表に出てくる現状。FizzBuzz問題を必死に解いて、さも簡単な事のように振る舞っている連中とかいるんじゃないのか?

2007-11-10

関数プログラミングにおけるFizzBuzz問題

いくつか考えてみた

(問1)高階関数再帰関数を必ず使って数値を要素とするリストの要素の総和を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

(問2)二つの引数をとり二つのうち大きいほうを返す関数高階関数再帰関数をつかって数値のリストの最大値を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

というのは簡単すぎるか?簡単すぎるなら

(問3)高階関数再帰関数を必ず使ってある数値に5を足し、10かけて2で割った数を求める関数を書け。ただし高階関数を使うという要件と再帰関数を使うという要件は同じ関数で満たしてもよい。

こっちの方がいいかな。でもトリッキーすぎる気もする。

一応問題を出したので、SchemePythonで自分で想定している答えを書いておいた。はてなではSchemeが人気のようなので、あまり知らなかったけど関数言語ではSchemeで書いておいた。Pythonで書くのはSchemeだけだとわかりにくいので、なにかスクリプト言語で書いておこうと思ったから。Rubyの方が人気なので、はじめはRubyで書こうと思ったけど挫折した。だれかRubyで書いてくれないかな・・・。コードオブジェクトってなによ。というか関数オブジェクトなのに引数にできないの?なんで?(以下疑問と愚痴の嵐なので略)Perlは古株が多くてユーザー数も多そうだけど、・・・その・・・無理です・・・。あの言語仕様はやる気がしない。ぶっちゃけ理解できない。Pythonを知らないひとは多そうだけど、知らなくてもSchemeよりは感じは掴めると思うのでPythonでも書いておくことにした。

Scheme

http://anond.hatelabo.jp/20071110215936

Python

http://anond.hatelabo.jp/20071110220132

これで大部分のひとがこの問題に興味をもたなくて解答するひとがいなくても、興味を持ったひとは安心だね!

追記:

問3で次のは無しとしておきたい。

Scheme

(define continuous-apply
    (lambda (lst obj)
        (cond
            ((null? lst)
                obj)
            (else
                (continuous-apply (cdr lst) ((car lst) obj))))))

(define plus5
    (lambda (num)
        (+ num 5)))

(define times10
    (lambda (num)
        (* num 10)))

(define divide2
    (lambda (num)
        (/ num 2)))

(define plus5-times10-divide2
    (lambda (num)
        (continuous-apply (list plus5 times10 divide2) num)))

(plus5-times10-divide2 2)

Python

def continuousApply(lst, obj):
    if lst:
        return continuousApply(lst[1:], lst[0](obj))
    else:
        return obj

def plus5(num):
    return num + 5

def times10(num):
    return num * 10

def divide2(num):
    return num / 2

def plus5_times10_divide2(num):
    return continuousApply([plus5, times10, divide2], 2)

plus5_times10_divide2(2)

2007-11-08

Re: オブジェクト指向におけるFizzBuzz問題

http://blogs.wankuma.com/episteme/archive/2007/11/08/106927.aspx

かなりテキトー。エラー処理とかしない。


package Animal;
sub new      { bless { cnt => 1 } , $_[0] }
sub Sound    { printf "%s\n", $_[0]->{voice} x $_[0]->{cnt}  }
sub SetCount { $_[0]->{cnt}   = $_[1]; $_[0] }
sub SetVoice { $_[0]->{voice} = $_[1]; $_[0] }

package Dog;
use base qw/Animal/;
sub new { $_[0]->SUPER::new->SetVoice('Wan') }

package Cat;
use base qw/Animal/;
sub new { $_[0]->SUPER::new->SetVoice('Nya-') }

my $animal;
$animal = Dog->new;
$animal->Sound;
$animal->SetCount(3);
$animal->Sound;
$animal = Cat->new;
$animal->Sound;

わん、にゃーが文字化けしたのでローマ字で。

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:10件)