[過去ログ] プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
509(15): デフォルトの名無しさん [sage] 2017/09/21(木)16:21 ID:na02B6ss(1)
[1] 授業単元名:FizzBuzzクイズ
[2] 問題文(含コード&リンク):
[3] 環境
[3.1] OS: (Windows/Linux/等々)特に問わない
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)特に問わない
[3.3] 言語: (C/C++/どちらでも可 のいずれか)特に問わない
2chスレ:prog
FizzBuzzクイズ
1.fizz.buzz #=> 1
3.fizz.buzz #=> "Fizz"
5.fizz.buzz #=> "Buzz"
15.fizz.buzz #=> "FizzBuzz"
999.fizz.buzz #=> 999
となるようなメソッド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" など)で。
512: デフォルトの名無しさん [sage] 2017/09/22(金)07:14 ID:eEMHecr4(1/5)
>>509
修正
×999.fizz.buzz #=> 999
○997.fizz.buzz #=> 997
513(1): デフォルトの名無しさん [sage] 2017/09/22(金)07:55 ID:FtjqsiSd(1/10)
>>509
C++版
https://ideone.com/JdTeeD
515: デフォルトの名無しさん [sage] 2017/09/22(金)08:13 ID:FtjqsiSd(2/10)
>>509
C言語
https://ideone.com/eWR8Pl
517(1): デフォルトの名無しさん [sage] 2017/09/22(金)12:43 ID:qmG6L9xB(1/3)
>>509 や >>516 みたいなのとは絶対に一緒に仕事をしたくない
524(2): デフォルトの名無しさん [sage] 2017/09/22(金)16:48 ID:eEMHecr4(3/5)
>>509
#=>
これって ruby の記法だったかな?評価値を変えたいようだ
535: デフォルトの名無しさん [sage] 2017/09/22(金)19:51 ID:FtjqsiSd(9/10)
確かに
7の倍数じゃなくて1の倍数でも良いよな
たまたま >>509 の例がすべて7の倍数になってただけで
この場合、上にあげた3個のコードいずれも
7 を 1 に変えてくださいな
539: デフォルトの名無しさん [sage] 2017/09/22(金)20:43 ID:W1Y66+yK(4/6)
>>509に書いてある以上は、それに従うのが基本
542(3): デフォルトの名無しさん [sage] 2017/09/23(土)03:26 ID:nBwtcNcI(1)
>>509 Ruby >>525の方針で
https://ideone.com/B6E8ig
543: デフォルトの名無しさん [sage] 2017/09/23(土)05:00 ID:FxaWa0db(1)
>>509 F#
https://ideone.com/svYTTM
544: デフォルトの名無しさん [sage] 2017/09/23(土)09:40 ID:9eQI4Qct(1)
>>509
@Mathematica
https://ideone.com/oC0nu7
入力値(n)をリストにして次の関数に渡さないとダメポ
547(5): デフォルトの名無しさん [sage] 2017/09/23(土)11:29 ID:w6RxEhSu(1)
>>509
https://ideone.com/4p67HE
C++。題意は満たしてないけど、自分が書くとこんな感じだな。
末尾判定難しい。
548: デフォルトの名無しさん [sage] 2017/09/23(土)17:45 ID:tyQvRaHd(1/2)
>>509
>>536
>>524〜>>547 の方法を想定
Java: https://ideone.com/i8wMea
552(2): デフォルトの名無しさん [sage] 2017/09/23(土)22:51 ID:PEiEI8OX(2/2)
>>509 Squeak Smalltalk だけどなんとか >>547 っぽい方法で
| FizzBuzzQuiz |
FizzBuzzQuiz := Trait named: #FizzBuzzQuiz uses: #() category: 'FizzBuzz-Quiz'.
FizzBuzzQuiz compile: 'isDivisibleBy: m
^(Processor activeProcess environmentAt: #fbValue) isDivisibleBy: m'.
FizzBuzzQuiz compile: ', str Processor activeProcess environmentAt: #fbValue put: self. ^str'.
FizzBuzzQuiz compile: 'fizz ^(self isDivisibleBy: 3) ifTrue: [self, ''Fizz''] ifFalse: [self]'.
FizzBuzzQuiz compile: 'buzz ^(self isDivisibleBy: 5) ifTrue: [self, ''Buzz''] ifFalse: [self]'.
{Number. String} do: [:each | each uses: FizzBuzzQuiz].
1 fizz buzz. "=> 1 "
3 fizz buzz. "=> 'Fizz' "
5 fizz buzz. "=> 'Buzz' "
15 fizz buzz. "=> 'FizzBuzz' "
14 fizz buzz. "=> 14 "
FizzBuzzQuiz compile: 'gizz ^(self isDivisibleBy: 7) ifTrue: [self, ''Gizz''] ifFalse: [self]'.
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' "
554: デフォルトの名無しさん [sage] 2017/09/24(日)08:49 ID:wOaJDXIV(2/2)
>>509 Ruby >>542 を >>552 と同様の手法でリファイン
https://ideone.com/2EsoeT
555: デフォルトの名無しさん [sage] 2017/09/25(月)19:17 ID:WU5gUeBt(1)
>>509 c
https://ideone.com/oAsiG2
・構造体つこうた
・gizzの「追加定義」については簡易解釈
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s