アカウント名:
パスワード:
print "1\n";print "2\n";print "Fizz\n;
って書いてこうとしたら2分じゃ書けそうになかったので、こんな風に書いたのですが、3分ぐらい掛かっちゃいました。
#!/usr/local/bin/perl print "#!/usr/local/bin/perl"; for (my $i==1; $i<=100; $i++){ if (($i % 15)==0) {print "print \"FizzBuzz\\n\";\n"; next;}; if (($i % 3)==0) {print "print \"Fizz\\n\";\n"; next;}; if (($i % 5)==0) {print "print \"Buzz\\n\";\n"; next;};
・3の倍数は"0" "3" "6" "9"が任意個、"1" "4" "7"の個数の合計と"2" "5" "8"の個数の合計が等しい。
本当は「各桁の合計が3の倍数」なので「個数が等しい」ではないですね。失礼しました。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
ついでに (スコア:0)
#★★★とか?
情報処理技術者 (スコア:0)
Re:情報処理技術者 (スコア:1, 参考になる)
ITだけじゃなくて有資格者って事だけじゃ判断付かないから、資格そのものが無意味になってきていると思う。
資格より職歴やサークル活動歴、オタク歴などの方がよほど参考になるよ。
Re:情報処理技術者 (スコア:5, 興味深い)
個人的には『SEなら資格取るのなんて楽勝 [yahoo.co.jp]』にて、
| あ、でも試験会場に行くと、現場で働いてる人かそうでないかはひと目でわかります。
| 午前が終わると暗い顔してるのが現場の人で、午後が終わると暗い顔してるのが学生さん。
| 現場の人は「筆記は苦手だけど、午後のプログラム試験なんか試験にもならん。
と書いてあるのはかなり驚きなんですが。学生のときにソフトウェア開発技術者試験を受験しましたが、むしろ、午後試験
Re:情報処理技術者 (スコア:1)
すみません。
って書いてこうとしたら2分じゃ書けそうになかったので、こんな風に書いたのですが、3分ぐらい掛かっちゃいました。
Re:情報処理技術者 (スコア:0)
Pythonだとワンライナーで
for x in ['FizzBuzz' if x==x/15*15 else 'Fizz' if x==x/3*3 else 'Buzz' if x==x/5 else x for x in range(1,101)]:print x
ですかね
FizzBuzz by Scheme (スコア:1)
(define (fizzbuzz-iter cnt cnt3 cnt5 result-list)
(cond
((= cnt 0) result-list)
((and (= cnt3 0) (= cnt5 0)) (fizzbuzz-iter (- cnt 1) 2 4 (cons 'Fizzbuzz result-list)))
((= cnt3 0) (fizzbuzz-iter (- cnt 1) 2 (- cnt5 1) (cons 'Fizz result-list)))
((= cnt5 0) (fizzbuzz-iter (- cnt 1) (- cnt3 1) 4 (cons 'Buzz result-list)))
(else (fizzbuzz-iter (- cnt 1) (- cnt3 1) (- cnt5 1) (cons cnt result
文字列操作 (スコア:1)
十進で書いた場合、
・3の倍数は"0" "3" "6" "9"が任意個、"1" "4" "7"の個数の合計と"2" "5" "8"の個数の合計が等しい。
・5の倍数は下の桁が"0" "5"。
ってことを使うとか?
# Cでかけたけど、あんまり綺麗にならなかったので。
# スキルが足りん……。
勘違い (スコア:1)
本当は「各桁の合計が3の倍数」なので「個数が等しい」ではないですね。失礼しました。
Re:勘違い (スコア:1)
#include <stdio.h>
#include <stdlib.h>
int
main(void)
{
int i, j, chk3;
char c, buf[10];
for (i = 1; i = 100; i++) {
snprintf(buf, sizeof(buf), "%03d", i);
for (j = 0, chk3 = 0; j 3; j++) {
c = buf[j];
if (c == '1' || c == '4' || c == '7')
chk3 += 1;
if (c == '2' || c == '5' || c == '8')
Re:勘違い (スコア:2)
誤:
| for (i = 1; i = 100; i++) {
正
| for (i = 1; i <= 100; i++) {
誤
| for (j = 0, chk3 = 0; j 3; j++) {
正
| for (j = 0, chk3 = 0; j < 3; j++) {