パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

終わってるITスキルトップ10」記事へのコメント

  • by Anonymous Coward
    終わってるIT資格も教えてください

    #★★★とか?
    • by Anonymous Coward
      旧2種とか履歴書に書かれても微妙。

      • by Anonymous Coward
        近頃の若者はナントカ教育のおかげか知らんが、資格持っていても役にたたんやつが多すぎる。
        ITだけじゃなくて有資格者って事だけじゃ判断付かないから、資格そのものが無意味になってきていると思う。
        資格より職歴やサークル活動歴、オタク歴などの方がよほど参考になるよ。
        • これまでは趣味でバリバリにプログラムを書いたり、サーバー管理したりしてそのついでに情報処理技術者試験を受けた学生が多かったのが、情報処理技術者試験そのものが目的になってしまっている学生が増えたということでしょうか。

          個人的には『SEなら資格取るのなんて楽勝 [yahoo.co.jp]』にて、
          | あ、でも試験会場に行くと、現場で働いてる人かそうでないかはひと目でわかります。
          | 午前が終わると暗い顔してるのが現場の人で、午後が終わると暗い顔してるのが学生さん。
          | 現場の人は「筆記は苦手だけど、午後のプログラム試験なんか試験にもならん。
          と書いてあるのはかなり驚きなんですが。学生のときにソフトウェア開発技術者試験を受験しましたが、むしろ、午後試験
          • >FizzBuzzというトイプログラムすら書けない

            すみません。

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

            • by Anonymous Coward
              FizzBuzzは「剰余を使わない」という条件があるので・・・

              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
              ですかね
              • reminder禁止でやったら5分もかかった。駄目だ(--;
                (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
              • 文字列操作はいかがでしょう?
                十進で書いた場合、
                ・3の倍数は"0" "3" "6" "9"が任意個、"1" "4" "7"の個数の合計と"2" "5" "8"の個数の合計が等しい。
                ・5の倍数は下の桁が"0" "5"。
                ってことを使うとか?

                # Cでかけたけど、あんまり綺麗にならなかったので。
                # スキルが足りん……。
              • 事故レス

                ・3の倍数は"0" "3" "6" "9"が任意個、"1" "4" "7"の個数の合計と"2" "5" "8"の個数の合計が等しい。

                本当は「各桁の合計が3の倍数」なので「個数が等しい」ではないですね。失礼しました。

              • by shojin (28072) on 2007年05月25日 22時32分 (#1163052) 日記
                3の倍数は法を3にして合同な世界で考えるということでしょうか。

                #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')
                        chk3 += 2;
                    }
                    if (chk3 == 0 || chk3 == 3 || chk3 == 6) {
                      printf("Fizz");
                      buf[0] = '\0';
                    }
                    c = buf[2];
                    if (c == '0' || c == '5') {
                      printf("Buzz");
                      buf[0] = '\0';
                    }
                    printf("%s ", buf);
                  }
                  printf("\n");
                  return EXIT_SUCCESS;
                }
                あまり急いで作るつもりがなかったのでちんたらやっていたら構想から実装まで10分程度使ってしまいました。
                これでは自称上級プログラマーじゃん。(--;
                親コメント
              • by shojin (28072) on 2007年05月25日 22時38分 (#1163056) 日記
                あ、括弧をエスケープするのをわすれました。
                誤:
                | 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++) {
                親コメント
              • by ken2 (27347) on 2007年05月25日 23時08分 (#1163069)
                おお、すばらしい。 buf[0] = '\0'; がトリッキーで面白いですね。 3を法にして……ってのは、まったくそのとおりで、念のため説明しますと、ある数Nの10進展開を、
                N = Σ10n an
                のようにあらわすと、10≡1 (mod 3)だから、10n≡1で、
                N ≡ Σ an (mod 3)
                となって各桁の合計の剰余と等しくなるわけですね。
                親コメント
              • by Anonymous Coward
                VB6ユーザもFizzBuzzできるように、ActiveXにしてください。

最初のバージョンは常に打ち捨てられる。

処理中...