by
Anonymous Coward
on 2022年10月05日 15時36分
(#4339185)
SQLも負けてないぞ。
1から100までの合計値を数学の公式を使って求める
SELECT SUM(1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100) AS '合計'
新人が作るレベルのコード (スコア:1)
「1から10000までの合計値を求める」で作られたコードが以下。
var total = 0;
for (var i = 1; i <= 10000; i++) {
total += i;
}
console.log(total);
間違っては無いけど、非常に素朴で単純な組み方。
うん、まだ私たちの仕事はなくなりそうにない。
# とか思っててお客が「これでいいじゃん」とか言いだしたら困るなぁ
Re: (スコア:0)
インプットに対して正確にアウトプットが得られればお客なんてそれでOKじゃね? どうせ、お客はソースコードなんて確認しないよ。
Re: (スコア:0)
現実には性能とかコーディング規約を守ってとか、もっと注文が多い。
つかコードレビューしないの。
Re: (スコア:0)
コーディング規約はフォーマッタ使えよ
人間が気を付けて守るとか平成でも時代遅れっしょ
性能は仕方ないだろうね
Re: (スコア:0)
フォーマッタで(?)
Java コーディングスタンダード CERT/Oracle 版
https://www.jpcert.or.jp/java-rules/ [jpcert.or.jp]
Re: (スコア:0)
H/Wが解決してくれますよ。
0.01秒が0,02秒になったところで気にしない。
プロなら気にして欲しいんだけどねぇ・・・気にしてたら外注は使えないし。
Re: (スコア:0)
とはいえ、世の中には0.01秒が1秒になるようなコード書いてくる奴はいっぱいいるからな…。
(たいていデータが少ないときは問題ないから本人は分かってない。)
Re: (スコア:0)
最適化はコンパイラが色々とやってくれる
AOTならそのパターンだと console.log(50005000) になる
JITだと愚直に処理しちゃうけど
Re: (スコア:0)
コンパイラ向けの最適化と組み合わせたツールが登場したりして。
てか、AIに公式とかアルゴリズムとか学習させれば。
もしかして「コンパイラより手書きのアセンブラ最強!」とか言っていた頃と似た状況なんだろうか。
Re: (スコア:0)
ファイル名が「氏名.docx」のファイルが複数ある。
これを、「通し番号.docx」にリネームする。
なんか使える場面がありそう。
Re: (スコア:0)
私たちの仕事が1から10000までの合計値を求める優れたコードを書くことなら、AIに取って代わられるのはすぐなんじゃない。
Re: (スコア:0)
「1から-5まで足す」だとこうなった。
int sum = 0;
for (int i = 1; i = -5; ++i) {
sum += i;
}
これはこれでAIっぽくないやり口な気がする。もうちょっと、そこの解釈で転けるかぁ、みたいな斬新なやつを期待したんだけど。
Re:新人が作るレベルのコード (スコア:1)
i = -5 のところ、 < が消えてるけど、いずれにしても即死ワロタ。
Re: (スコア:0)
> 即死ワロタ
即死じゃないです。無限ループになると勘違いしてるようですが、sum= 0と計算されるだけです。
AIを馬鹿にしてるつもりが、自分の方がもっとアホだったと。ワロタとか言ってる場合じゃないですね
Re:新人が作るレベルのコード (スコア:1)
無限ループは死んでないじゃない。
ループに1回も入らずに終了するから「即死」だよ。
Re: (スコア:0)
というかこんなもんこれ以上どこカイゼンすんだよw
Re: (スコア:0)
手で計算するならガウス君みたいなことするんだけど計算機にやってもらうんだからこれでいいよね。
Re: (スコア:0)
Lisp
1から100までの合計値を数学の公式を使って求める
(+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100)
うーむ。
こんなの書いてくる新人がいたら匙を投げる。
Re:新人が作るレベルのコード (スコア:1)
SQLも負けてないぞ。
1から100までの合計値を数学の公式を使って求める
SELECT SUM(1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100) AS '合計'
Re: (スコア:0)
なぜかLispの選択肢が2つある
Re: (スコア:0)
あ、ほんとだ。
下のほうのLispに同じの投げたら、またも期待外れが返ってきた。
1から100までの合計値を数学の公式を使って求める
total = 0
for i in 1..100
total += i
end
puts total
どう見てもLispじゃない。
Re: (スコア:0)
下の方のLispで何度か繰り返したら、期待したアルゴリズムがでてきたが、
やはりLispじゃなかった。
1から100までの合計値を数学の公式を使って求める
(1 + 100) * 100 / 2 = 5050
Re:新人が作るレベルのコード (スコア:2)
そのやり方にしたって「公式」ではない気がする。
Re: (スコア:0)
これは、、、RLISPじゃね。
まだ使える者がおったとは。長生きはしてみるもんじゃ。
Re: (スコア:0)
12種類のpentominoを6x10の箱に詰める。
(setq box '(6 10))
(setq pentominoes '(
(1 1 1 1 1)
(1 1 1 1 0 1)
(1 1 1 0 1)
(1 1 1 0 1 0)
(1 1 0 1 1)
(1 1 0 1 0 1)
(1 1 0 0 1 1)
(1 0 1 1 1)
(1 0 1 1 0 1)
(1 0 1 0 1 1)
(0 1 1 1 1)
(0 1 1 1 0 1)))
(setq result (fit-pentominoes box pentominoes))
8-queenは
Re: (スコア:0)
食わせたお手本コードは、へなちょこプログラマが作ったものだったのでしょうね。
生成されたコードの質は置いといて、なかなか面白いと思いました。
Re: (スコア:0)
間違っては無いけど、非常に素朴で単純な組み方。
うん、まだ私たちの仕事はなくなりそうにない。
# とか思っててお客が「これでいいじゃん」とか言いだしたら困るなぁ
文字列で入ってきちゃった場合とかバリデーションなししか出力できないなら品質としては問題かなぁ
# AI「別料金修正案件を残しました」