プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
お題:プログラミングのお題が与えられるので、それに対する解答を回答するプログラ厶を作りなさい。 >>512 Perl5 %h = ('プログラミングのお題' => 'それに対する解答'); while (<>) { chomp; $a = $h{$_}; print $a ? "$a\n" : "しらんがな…(´・ω・`)ショボーン\n"; } 実行例 $ echo プログラミングのお題 | perl 14_512.pl それに対する解答 ~ $ echo たわけ | perl 14_512.pl しらんがな…(´・ω・`)ショボーン ~ $ echo たいがいにせいよ | perl 14_512.pl しらんがな…(´・ω・`)ショボーン ~ $ (出題者側、回答者側のいずれに問題があるにせよ) 題意が汲み取れずくだらないお題だと思うのなら 回答せずにスルーすればいいやんというのがここのルール 回答した以上は特に題意を汲み取っていない的外れな回答の場合、 相応の批判にさらされることはある程度覚悟しないと >>514 出題者が質問に答えずに、出題の意味も説明できずに罵声を浴びせるだけと言う態度は問題だと思うけどな。 出題者かどうかわからんのが問題だしトリでもつけとけばいいんちゃう >>516 「ひげダンス」と聞いて調べずすぐにわかる人がここに何人いるかなあ・・・ >>507 >>508 「このはし渡るべからず」を見た時の一休さんの気持ちが少しわかった。 お題と回答 >>5 : 6 10 32 36 44 >>9 : 15 34 35 79 >>11 : 48 (78) 138-139 (140) 142 146 151 154 >>19 : >>50 , https://mevius.5ch.net/test/read.cgi/tech/1549160513/920 : 4 85 89 https://mevius.5ch.net/test/read.cgi/tech/1549160513/988 == >>164 : 59 61 167 169 189 192 201 202 >>90 : 95 96 >>99 : >>200 : 214 219 >>215 : 227 >>220 : 232 240 248 256 268 >>235 : 236 237 238 239 247 249 259 342 353 >>320 : 321 323 327 330 340 >>322 : 325 328 329 331 332 339 341 358 359 >>362 : 367 369 370 371 374 379 380 382 414 >>368 : 390 >>388 : 487 (488) >>400 : 401 >>408 : >>417 : 418 419 421 426 432 433 436 438 442 446 451 452 456 471 474 480 482 489 492 495 498 >>479 : >>417 #pragma INTERRUPT int00 static int i = 0; void int00(void) { if( i <= 100 ){ printf("%d\n", i++ ); } } あとは割り込みのテーブルに登録するだけ >>514 > 回答せずにスルーすればいいやんというのがここのルール 勝手にルールを作るな。 >>524 基本的なルールも知らん新参者はしばらくロムってろとw part6くらいからこのスレ見てるけどそんな不文律知らんぞ >>417 数値に(+1)の代わりに次の値を求めるsuccに変えるだけじゃインクリメントと同じになるので、 文字列でインクリメント相当の処理を実現してみた。 (succ 1 = 2, succ 'a' = 'b', succ False = True) リストが全部'9'か見るのにand関数使った方が行数減らせるが、 and関数も再帰と見做せるので使わなかった。 ('9'と同じ数だけ'0'を用意する処理も、リスト内包表記やlength関数が再帰やループに当たる) Haskell main = f "1" f = fa f ― f n = fa f n を部分適用で見掛け上の変数を減らした fa _ "101" = return () fa fb "9" = putStrLn "9" >> fb "10" fa fb "99" = putStrLn "99" >> fb "100" fa fb "100" = putStrLn "100" >> fb "101" fa fb [x,'9'] = putStrLn [x,'9'] >> fb [succ x,'0'] fa fb [x,y] = putStrLn [x,y] >> fb [x,succ y] fa fb [y] = putStrLn [y] >> fb [succ y] >>417 bb=1;echo $bb >/tmp/gg; watch -n 0.5 "bb=\`cat /tmp/gg\`; echo \$bb; if [ \$bb -eq 100 ]; then exit; fi; bb=\$((bb+1)); echo \$bb >/tmp/gg; " >>527 では君はいままで自分がわからない問題が出題されたときは 問題にケチをつけてたのかね? そういうのやめてくれないかね ちなみに僕はPart0のころからいるいわばこのスレの主だ >>531 自分で無視しろと言っておいて人の投稿に難癖つけるのも同じだろ。 無視してろよ。 >>532 同じじゃないよ 何でもかんでも一緒にするんじゃない ケツを出せお尻ペンペンだ! 議論を整理しよう 主の意見 ・問題がわからなかったら問題が悪いと言うんじゃなくて無視しよう 木偶の坊の回答者の意見 ・問題がわからなかったら問題に文句言うんだ <= これがダメ >>531 桃白白改めミスターポポ改めピラフ改めピッコロさん、いい加減にしろ >>534 問題が解らなければ出題者に聞くのがまず第一だろ。 そして出題者は質問に答える義務がある。 >>537 じゃあこれはあからさま? var n=1,t=setInterval(()=>{if(n<=100){console.log(n);n++;}else{clearInterval(t);}},0); >>540 どうでもいいんじゃない? 自分がこれで良いと思えば良いんだよ。 誰にもあからさまと言う基準は作れない。 プログラムの中のループと言えばそうなるけどな。 ただ、サンプルの中でもイベントを使う方法は載ってたからOK なんじゃないのかな。 もうどうでも良いよ。 >>538 あからさまではないんや!! >>540 それもあからさまにループしてない良いコードと言えます >>539 義務なんてない 会話の裁量はケースバイケースや >>542 何で出題者でもないお前が仕切ってるんだよ。 それともお前が出題者? >>540 あらかさまじゃねーけど>>523 の二番煎じはつまらない >>547 >>540 は>>480 を書き換えたコード、オリジナルは>>451 、>>523 の方が後なんだけど 全部のコードをいちいち見てないし、二番煎じということを指摘するには十分だろ >>545 桃白白改めミスターポポ改めピラフ改めピッコロさん、いい加減にしろ ID:PuD19qMM は多分クソみたいな出題してボロカスに叩かれたことがあるんでしょ 叩かれたこと無いって多分レスすると思うけど、きっとあるんでしょ >>531 > ちなみに僕はPart0のころからいるいわばこのスレの主だ 明記しとけ つかスレの主ちがうじゃん お題 1) √2 を小数点以下 1000 桁算出せよ 2) n ∈Z, 1 <= n <= 100 を与えたとき√n を小数点以下1000 桁算出せよ >>555 Squeak Smalltalk (PolygonMorph shapeFromPen: [:pen | | factor | factor := Float pi / 100. pen place: 0@0. 0 to: 200 do: [:x | pen goto: x @ ((x * factor) sin / factor)]] color: Color transparent borderWidth: 2 borderColor: Color red) makeOpen; position: Display center; openInWorld >>388 Java https://ideone.com/9d18x4 >>553 分割荒くしたらもっと早くなったよ x=13194120658951(=2097151^3-2097150^3)以下に6通り見つからなかったが >>557 Pharo/Squeak Smalltalk | sqrt | sqrt := [:n :m | | a b nDigits intDigits str | a := 5 * n. b := 5. nDigits := m + (intDigits := (n sqrt log + 1) asInteger )+ 1. [:exit | [ a >= b ifTrue: [a := a - b. b := b + 10] ifFalse: [ b log > nDigits ifTrue: [exit value] ifFalse: [ a := a * 100. b := b // 10 * 100 + (b \\ 10) ] ] ] repeat] valueWithExit. ((str := b asString) first: intDigits), '.', ((str allButFirst: intDigits) first: m) ]. ((1 to: 100) collect: [:n | n -> ((sqrt value: n value: 1000) contractTo: 30)]) asStringWithCr "=> 1->'1.000000000000...0000000000000' 2->'1.414213562373...8229518488472' 3->'1.732050807568...8363954959381' 4->'2.000000000000...0000000000000' 5->'2.236067977499...0407072278724' 6->'2.449489742783...7009535324726' 7->'2.645751311064...4698120004300' <snip> 97->'9.848857801796...5854929396030' 98->'9.899494936611...7606629419304' 99->'9.949874371066...6373124778344' 100->'10.00000000000...0000000000000' " >>553 あのさ、何か言いたいのはわかるけど、リンクくらいまともに貼ろうよ、 カンマで区切られたスレなんて俺のブラウザでは辿れないし、リンク先のページもどれがなんなのかわからないし、自分が勝手に思ってても人には伝わらないよ。 よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。 >>557 bc scale=1000 sqrt(2) for (n = 1; n <= 100; n++) sqrt(n) >>555 Python sympy from sympy import Symbol, sin , plot x = Symbol('x') plot(sin(x),(x,0,10)) >>555 Python numpy , matplotlib import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 100) y = np.sin(x) plt.plot(x, y) https://light.dotup.org/uploda/light.dotup.org596741.png >>555 C++で書いてみたよ。 画像生成は自作コード。 面クラス作ってwindows bitmap 用に書き込みした。 趣味で色キチにしてある。 >>555 ChromeのURLバーに叩き込む javascript:document.innerHTML='<svg><path d="M0 50 C 40 10 60 10 100 50 C 140 90 160 90 200 50 Z">' スクショ https://i.imgur.com/4jf1NdV.png だんだん難しくなるよ。 お題: 8の字曲線を描画せよ。 お題: ベルトコンベヤで左から右へチーズケーキが不定期に断続的に供給される。Aさん、Bさん、Cさんは右から順番にチーズケーキを食べる。 ただし、AさんはBさんより食べる速度が早い。BさんはCさんより食べる速度が早い。お腹一杯になるとしばらく食べられない。 これをマルチスレッドで再現せよ。 >>570 Squeak Smalltalk (PolygonMorph shapeFromPen: [:pen | | lemniscate factor | lemniscate := [:θ | θ cos / (1 + θ sin squared) @ (θ sin * θ cos / (1 + θ sin squared))]. factor := 100. pen up. 0 to: 360 do: [:deg | pen goto: (lemniscate value: deg degreesToRadians) * factor; down]] color: Color transparent borderWidth: 2 borderColor: Color red) position: Display center; openInWorld "=> https://i.imgur.com/CiUeI8I.png " お題: あなたは宇宙時代の靴屋さんだ。宇宙人の足底の形状データが二次元多角形ベクトルデータとして与えられる。多角形が円に収まるように円形の靴の底を設計せよ。 >>561 >自分が勝手に思ってても人には伝わらないよ。 ほう、私の記述が不十分というわけですか? しかし、 >カンマで区切られたスレなんて俺のブラウザでは辿れないし これは特に「アンカー」というのですよ。「アンカー」、この単語をご存知なかったのですか? >カンマで区切られたスレなんて俺のブラウザでは辿れないし 私の専用ブラウザでは十分にたどれますよ、おま環でしょう、おま環、おま環(爆笑) >リンク先のページもどれがなんなのかわからないし、 QZ 専用スレのことですか そもそも専用スレを持っているということ自体が特筆に値するでしょう あなたも専用スレを作ってみたらいい、一発で削除されますよ それに、そこでは私は、私が何を目的に何を書いたのか一目瞭然ですね 必要にして十分とはまさにこのことでしょう 過去ログはお布施をすれば自由に取り込めます、おま環、おま環(爆笑) >よくそんなのでプログラムの世界で生きてるね。 クビにならないことを祈るよ。 あなたが5ch で不自由な制約のもとにあるのはよくわかりました、ひとことでいってお布施が足りない、まずはお布施をすることですね 私は職業プログラマでないので、すでにプログラムの世界ではクビになっています、ついでに現在の職業もクビになりそうです…いや、ラプラス変換の部分分数展開の計算が合わなくて苦労しているのですよ 部分分数展開については、近いうちにこのスレのお題にしますよ、乞うご期待! >>570 Python sympy from sympy import symbols , sin from sympy.plotting import plot_parametric t = symbols('t') x=sin(t); y=sin(2*t) p = plot_parametric(x, y, autoscale=True, title='8 Graph', show=False) p.show() https://i.imgur.com/ACefMnx.jpg お題: 辞書のように頭文字を何文字か入力すると該当する単語の意味を調べられるようなシステムのことを「辞書型エキスパートシステム」と言います。 あなたの得意分野に関する辞書型エキスパートシステムを作りなさい。 例) HTML辞書システム >>577 お?リサージュ使ったのか、やるなお主。 面白いシューティングゲーム作るなら、数式とグラフの知識は必須だからな。 x→yという対応によるx-yグラフがあれば、 時刻t→(x, y)という対応によるグラフもある。多分高校で習うから安心しろ。 >>576 やはり思った通りの人物像だったな。 自分の勝手な思い込みで人に伝わると思ってる。 そりゃどんな所に勤めても長続きしないだろうな。 相手の事を思いながら会話しないとダメなんだよ。 自分は何も悪くない、悪いのは相手だと言うのが最大の欠点。 多分病気だと思うから一度病院に行ってみたら? ラプラス変換なんて持ち出せば相手は黙るだろうとか思ってる馬鹿さ加減。 あんな簡単な物で躓いてるのは多分高校の数学で落ちこぼれてたんだろうな。 いや中学の算数が解っていないのかも。 計算を楽にするためにラプラス変換があるのに。 トリップ付けてる人にまともな人なんているわけがないじゃないか >>585 悪かった、本物とはさすがに思わなかった。 お大事に。 むしろこんな所にも出入りしない方が良いと思うけどな。 所で今 5ch サーバーがおかしいね。 >>590 浅はかな理解ですね、そもそもここに出入りしている時点で重大な問題を孕んでいることに気がつかないとでもいうのですか? あーQZはまともに相手しないで放置すればいいよ こいつ複素解析も知らない癖に留数定理がどうのこうのとか騙ってて 突っ込まれると「全然知りません」と開き直るような奴だからな それに日本人じゃないらしい >>592 懐かしいな 以前、複素数にまで拡張された指数関数が一般に多価関数になるということが解らなくて わざわざ他の板まで行って醜態を晒してたなこいつ >>592 それは記憶違いでは? 当時「計算練習として複素関数論をやればいいのでは?」という意見に対して「留数定理は忘れた」と発言しただけですよ、実際もう忘れましたし、それにしても昔のことをよく覚えていますよね、この執念はいったいなんなんでしょうか? >>594 このスレのお題「e^z = -1 たる z ∈C を求めよ」にてずいぶんと勉強させていただきましたが、それもこのスレだけの話で、わざわざ他のスレや他の板に行った覚えはありませんね、証拠を出せますか? >>593 ラプラス変換の教科書に当時メモ書きした式変形ですら、もう自分でも理解できなくなっているのは認めましょう… >>595 確か数学板で聞いてただろお前 そのリンクをこのスレに貼ってたはずだから気になるなら自分で調べろ お題 7月中の、3人の空いている日のリストがあります。 3人の内、2人以上が空いている日と、名前を求めよ A 2019/07/05 2019/07/10 2019/07/15 2019/07/20 B 2019/07/08 2019/07/10 2019/07/20 C 2019/07/15 2019/07/20 2019/07/25 書式は、どうでも良い。 こんな感じで 2019/07/10 A B 2019/07/10, A, B Hash使うとすごく簡単にできると思うが、Hashへの値のセットをプログラム中に書こうとすると、それがそのまま答えになってしまいそうな予感w >>573 Python3.6 ideonのpython は3.5で動かないが、下の方に出力サンプルを張り付けてあるからそれを見てください。 https://ideone.com/JqcYMA 出力サンプルを少しだけここに張り付け 開店時間= 0.0 Aの取皿開始 speed=0.7 kosu=0 時刻は 0.0 Bの取皿開始 speed=1.0 kosu=0 時刻は 0.01 Cの取皿開始 speed=1.4 kosu=0 時刻は 0.02 ★★マグロ が出来た時刻=0.03 作成間隔 t=0.30 Cがマグロを食った 作成時刻=0.03 ★★カッパ が出来た時刻=0.33 作成間隔 t=0.10 Aがカッパを食った 作成時刻=0.33 ★★ウニ が出来た時刻=0.43 作成間隔 t=0.10 ★★上トロ が出来た時刻=0.53 作成間隔 t=0.10 Cがウニを食った 作成時刻=0.43 Cが満腹 休むよ 時刻=0.63 Aが上トロを食った 作成時刻=0.53 ★★エンガワ が出来た時刻=0.64 作成間隔 t=0.10 ★★マグロ が出来た時刻=0.74 作成間隔 t=0.10 Bがエンガワを食った 作成時刻=0.64 Bがマグロを食った 作成時刻=0.74 ★★マグロ が出来た時刻=0.74 作成間隔 t=0.10 Bがエンガワを食った 作成時刻=0.64Bがマグロを食った 作成時刻=0.74 ★★カッパ が出来た時刻=0.84 作成間隔 t=0.10 ★★ウニ が出来た時刻=0.94 作成間隔 t=0.10 ★★上トロ が出来た時刻=1.04 作成間隔 t=0.10 Aの取皿開始 speed=0.7 kosu=1 時刻は 1.11 Aがカッパを食った 作成時刻=0.84 ★★エンガワ >>600 Pharo/Squeak Smalltalk | data dic | data := { #A -> #('2019/07/05' '2019/07/10' '2019/07/15' '2019/07/20'). #B -> #('2019/07/08' '2019/07/10' '2019/07/20'). #C -> #('2019/07/15' '2019/07/20' '2019/07/25') }. dic := Dictionary new. data do: [:assoc | assoc value do: [:date | (dic at: date ifAbsentPut: [OrderedCollection new]) add: assoc key]. ]. dic associations sort select: [:assoc | assoc value size >= 2] thenCollect: [:assoc | assoc value: assoc value asArray] "=> {'2019/07/10'->#(#A #B) . '2019/07/15'->#(#A #C) . '2019/07/20'->#(#A #B #C)} " >>575 テストデータ(各自で用意すること): 長方形、星形、ハート形 #!/usr/bin/env perl use List::MoreUtils; @A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20); %A = map {$_, 1} @A; @B = qw( 2019/07/08 2019/07/10 2019/07/20); %B = map {$_, 1} @B; @C = qw( 2019/07/15 2019/07/20 2019/07/25); %C = map {$_, 1} @C; SEARCH: for ( List::MoreUtils::uniq (@A, @B, @C) ){ if ($A{$_} && $B{$_} && $C{$_}){ print "everyone is free at $_\n"; next SEARCH; } if ($A{$_} && $B{$_} ){ print "A and B is free at $_\n"; } if ($B{$_} && $C{$_}){ print "B and C is free at $_\n"; } if ($A{$_} && $C{$_}){ print "A and C is free at $_\n"; } } >>605 やはり辞書型がくみこまれてる言語は綺麗だね 数が増えたときでも問題ないかんじ ハート型って多角形だったのかー こらノーベル賞ものの発見だな! >>600 >607はあまりにも酷かったので、修正 #!/usr/bin/env perl use List::MoreUtils; @A = qw( 2019/07/05 2019/07/10 2019/07/15 2019/07/20 ); %A = map {$_, A} @A; @B = qw( 2019/07/08 2019/07/10 2019/07/20 ); %B = map {$_, B} @B; @C = qw( 2019/07/15 2019/07/20 2019/07/25 ); %C = map {$_, C} @C; for $date ( List::MoreUtils::uniq (@A, @B, @C) ){ for $someone_is_free_at (\%A, \%B, \%C){ push(@free_men, $$someone_is_free_at{$date}) if $$someone_is_free_at{$date}; } print "@free_men are free at $date\n" if (@free_men > 1); @free_men = (); } 出力 A B are free at 2019/07/10 A C are free at 2019/07/15 A B C are free at 2019/07/20 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる