- 1 名前:デフォルトの名無しさん [2020/03/13(金) 01:42:47.06 ID:0rEhys36.net]
- プログラミングのお題スレです。
【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 結果がある場合はそれも 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 ※前スレ プログラミングのお題スレ Part16 https://mevius.5ch.net/test/read.cgi/tech/1573948822/
- 152 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 15:02:35.67 ID:3oL83xUj.net]
- >>145 Perl5、再帰降下parser generator使わせてもらいました
sub evalop { my (@list) = @{$_[0]}; my $val = shift(@list)->(); while (@list) { my ($op, $arg2) = splice @list, 0, 2; $op->($val,$arg2->()); } $val } use Parse::RecDescent; $parse = new Parse::RecDescent(<<'EOG'); formula: expr /\s*\Z/ {$item[1]->()} | <error> expr: <leftop:muldiv add_op muldiv> {sub {::evalop $item[1]}} add_op: '+' {sub {$_[0] += $_[1]}} | '-' {sub{ $_[0] -= $_[1]}} muldiv: <leftop:factor mult_op factor> {sub {::evalop $item[1]}} mult_op: '*' {sub {$_[0] *= $_[1]}} | '/' {sub {$_[0] /= $_[1]}} factor: number | '(' expr ')' {$item[2]} number: /\d+/ {sub {$item[1]}} EOG for (<DATA>) { chomp; $ret = defined ($iret = $parse->formula($_)) ? sprintf('%d', $iret) : 'Error'; printf "$_ = %s\n", $ret; } __DATA__ 1+2*((3-4*5)/6+7)*8-9 100/2(3+4) 100/2*(3+4) *10 1/3*3
- 153 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 15:04:17.94 ID:IXOt/09v.net]
- >>148
アンカーしくった…orz >>135 宛でした。 実行結果 ~ $ perl 17_135_recdecexpr.pl ERROR (line 1): Invalid formula: Was expecting /\s*\Z/ but found "(3+4)" instead ERROR (line 1): Invalid formula: Was expecting expr 1+2*((3-4*5)/6+7)*8-9 = 58 100/2(3+4) = Error 100/2*(3+4) = 350 *10 = Error 1/3*3 = 1
- 154 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/04/15(水) 21:28:09 ID:mz+a7+dL.net]
- お題: 二次元空間にナゾの物体Pが2個ある。2個のPは初期状態に(-3, -2), (3, 1)[単位:m]にあるものと仮定する。
2個のPは離れすぎると距離r[m]に比例する引力加速度2*r[m/s^2]を生じ、近づきすぎると距離r[m]に反比例する反発 加速度k/r[m/s^2]が発生する。rが収束するとき(一秒あたりの距離の変化が0.01[m]以下)の距離をRと表す。 kとRの関係を調べたい。kを1.0から1.5まで0.1刻みで動かし、それぞれで数値積分によって2つのPの収束位置を近似計算し、Rを求め、(k, R)の組を出力せよ。
- 155 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 21:56:01.64 ID://wWJwAN.net]
- はい、次の方どうぞ
- 156 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/04/15(水) 22:30:18 ID:mz+a7+dL.net]
- お題: 次のようなプログラムを作れ。プログラムを起動したとき、ファイル「times.txt」に現在の日時を秒単位で記録した後、
前回の起動日時との差を求め、時間差の秒数を表示せよ。 ただし、うるう秒を考慮すること。
- 157 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 23:31:28 ID:/1JmN5U2.net]
- >>150
慣性が働いて抵抗が無いなら収束などしない 永遠に振動し続ける 初速度も書いて無いし 離れすぎ、近づきすぎの条件も書いてない
- 158 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 00:11:24 ID:qhHxDSDQ.net]
- >>131 c
https://ideone.com/2oXq06
- 159 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 00:30:51 ID:qxGCpnz3.net]
- 乙。
- 160 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:19:43 ID:6omvFBXS.net]
- >>153
アスペルガー症候群は黙ってた方がいい
- 161 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:25:27 ID:Yc0fbgtG.net]
- 初速度や離れすぎ、近づきすぎの条件が書いてないのは事実で回答しようも無いんだし
そういうのはやめたらどうかと思うんだが
- 162 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:27:18 ID:iTxUXfYH.net]
- そういう柔軟性のなさがアスペルガー症候群くさいんだよなぁ…
まあ本当は出題の意図は分かってて敢えてイチャモン付けてるんだろうけど
- 163 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:28:44 ID:Yc0fbgtG.net]
- >>158
じゃあ、お前さんがお題の回答プログラム どうぞよろしく
- 164 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:37:52 ID:iTxUXfYH.net]
- 俺なら初期位置も計算の打ち止め条件も完全に無視してポテンシャルの極小値を求めるプログラムを書いて提示するかな
出題者が期待してるのはそういうものだろうし些細な出題の問題点をいちいち指摘してボツにさせる気なんか起きないな
- 165 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:40:49 ID:s4YIDkZq.net]
- >>160
そのプログラムを投稿すればいいだけの話
- 166 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:43:39 ID:iTxUXfYH.net]
- じゃあ俺はアスペルガー症候群では?って言っただけの話
- 167 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:47:00 ID:s4YIDkZq.net]
- >>161
自分では回答も提示せず人様をアスペ呼ばわりして でも周りはアスペではなかったどうするの
- 168 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:49:51 ID:s4YIDkZq.net]
- 無名掲示板とはいえ、人様に言う言葉にはもう少し気を使え
- 169 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:50:45 ID:XsJA9brB.net]
- せっかく考えて出題してくれてるのに頭ごなしにボツにされようとしてるのを見て許せなかったんだよ
- 170 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 01:52:40 ID:s4YIDkZq.net]
- それとこれとは別問題
お前の気分しだいで人に失礼なことをするのはよせ
- 171 名前:デフォルトの名無しさん [2020/04/16(Thu) 01:54:43 ID:0k+XXy1f.net]
- 君、ネット向いてないよ
- 172 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 01:57:06.29 ID:s4YIDkZq.net]
- 飲むとスルー力が鈍るのは認める。
- 173 名前:デフォルトの名無しさん [2020/04/16(木) 01:58:36.86 ID:XeDXz4LY.net]
- まるでシラフならスルースキル高いかのような言い草で寒っ
- 174 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:00:46.80 ID:s4YIDkZq.net]
- 今日はちょっと虫の居所が悪くてな、すまんな。
ちな上の方のレスのうち、どれが俺の回答か分かるかな
- 175 名前:デフォルトの名無しさん [2020/04/16(Thu) 02:05:16 ID:oMF0NE5s.net]
- 急に語り出して劇寒
- 176 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 02:06:03 ID:s4YIDkZq.net]
- あげあしとりで終わりかよ
つまんねー
- 177 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 02:08:57 ID:s4YIDkZq.net]
- >>150
大体お前が悪いんだよ もう少し考えて出題できませんかね
- 178 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:21:19.79 ID:kjXrQDZb.net]
- 今までも同じようにあまりよろしくないお題を出してそのたびにスルーか同じように指摘され続けてるんだからこんなもんでは?
個人的には全く解いてみたいと思えないお題ばかり お題作るのは難しいなぁとつくづく感じる
- 179 名前:デフォルトの名無しさん [2020/04/16(木) 02:24:22.48 ID:7PlP0fH8.net]
- ここはすききらいをしゃべるすれではありません
- 180 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:24:26.49 ID:GrYlaJ67.net]
- お題作るのは難しいよ
ちょうどいい難易度が難しい
- 181 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:25:43.69 ID:s4YIDkZq.net]
- そりゃ気持ちはわかっけどさー
解いてみたいと思えないお題ばかり、ってことはさすがに無い。 お題によって回答したい、したくないはあるぞ、 時間が許せば、それには回答してきた
- 182 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:27:00.67 ID:/gsmKway.net]
- おまえ名言()とか好きそうだな
- 183 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 02:27:53.73 ID:s4YIDkZq.net]
- >>178
何か心に響いたか?
- 184 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 04:43:54 ID:G88s3oE4.net]
- 糞コテのお題をスルーできてない時点でどっちもゴミ
- 185 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 05:18:07 ID:FKJpjkAo.net]
- お題、JAVA
ウインドウで、ボールを動かして、振り子にしろ。
- 186 名前:デフォルトの名無しさん [2020/04/16(木) 15:33:05.77 ID:CZ2awm/7.net]
- >>181 js(Javaじゃなくてすまん)
https://codepen.io/as124680/full/yLYeRaN
- 187 名前:デフォルトの名無しさん [2020/04/16(木) 18:34:42.45 ID:Ao1pcPxo.net]
- 眠くなってきた
- 188 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 19:17:37.16 ID:A3RNLqkM.net]
- 草
- 189 名前:デフォルトの名無しさん [2020/04/16(木) 19:18:52.09 ID:D2Oboa0/.net]
- >>182
しゅごい・・・
- 190 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 21:50:22 ID:yL7j0Eir.net]
- お題:
2次元平面上の点が5つ与えられる。 これらを順番に線分で結んだとき、星形が構成できるかどうか判定せよ 0 0 1 2 2 0 0 1 2 1 => true 0 0 1 2 2 0 0 2 2 2 => false 0 0 0 1 1 2 2 1 2 0 => false 0 0 5 5 0 5 1 0 1 6 => true
- 191 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 22:15:17.40 ID:A3RNLqkM.net]
- 線型代数の問題だな
- 192 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 22:30:46.61 ID:+l2higCM.net]
- お題
急減少列かどうかを判定せよ。 ただし急減少列とは、(末尾以外の)どの要素もそれ以降の要素の総和より大きい列のこと。 32,16,8,4,2,1 -> true 32,16,8,4,2,1,1 -> false 610,377,144,55,21,8,3,1 -> true 987,610,233,89,34,13,5,2,1 -> false
- 193 名前:デフォルトの名無しさん mailto:sage [2020/04/16(木) 22:37:52.73 ID:dbvXh7HJ.net]
- 逆順に並べた方が良いなあ
急増加列?
- 194 名前:デフォルトの名無しさん mailto:sage [2020/04/16(Thu) 22:57:42 ID:tWuPngtw.net]
- >>188 Perl5
sub f { my $i = shift; my $r = f(@_) if @_; $i <= $r and die; $i + $r; } for ([32,16,8,4,2,1], [32,16,8,4,2,1,1], [610,377,144,55,21,8,3,1], [987,610,233,89,34,13,5,2,1]) { eval { f @$_ }; $s = "$@" ? 'false' : 'true'; $"=','; print "@$_ = $s\n"; } 実行 ~ $ perl 17_188_shdec.pl 32,16,8,4,2,1 = true 32,16,8,4,2,1,1 = false 610,377,144,55,21,8,3,1 = true 987,610,233,89,34,13,5,2,1 = false
- 195 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 00:26:03.00 ID:aBy1G2y60.net]
- >>186 js
線分交差判定アルゴリズムはググった https://ideone.com/0qMURh
- 196 名前:デフォルトの名無しさん [2020/04/17(金) 02:37:38 ID:GLu8MX8J.net]
- >>188
Perl5 https://paiza.io/projects/nSByfwI4TBgbz-v4RPV_IA 単に逆順にして加算しながら比較しているだけの誰にでも出来る簡単なお仕事。
- 197 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 09:07:37.71 ID:uUpf2Y3l.net]
- >>186
https://ideone.com/NR1SvA
- 198 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 09:10:52.22 ID:uUpf2Y3l.net]
- 直線と点の位置関係判別を6回に減らした
- 199 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 16:03:16 ID:FcD+/8tF.net]
- >>186 Perl5、PDL(Pythonで言うならnumpyとscipyを合わせたようなPerlモジュール)を使わせてもらいました
@t = ([[0,0], [1,2], [2,0], [0,1], [2,1]], [[0,0], [1,2], [2,0], [0,2], [2,2]], [[0,0], [0,1], [1,2], [2,1], [2,0]], [[0,0], [5,5], [0,5], [1,0], [1,6]]); use PDL; use PDL::Math; for $ps (@t) { $ang = 0.0; for ([0,1,2], [1,2,3], [2,3,4], [3,4,0], [4,0,1]) { @p = map{pdl $$ps[$_]} @$_; $v1 = norm($p[0] - $p[1]); $v2 = norm($p[2] - $p[1]); $spro = sum($v1 * $v2); $ang += acos($spro); } $ang = abs($ang); $ans = ($ang > 3.14 and 3.15 < $ang) ? 'true' : 'false'; print "$ans\n"; } 実行結果 ~ $ perl 17_186_istar.pl false false true false
- 200 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 17:08:25 ID:TdOLExdu.net]
- >>195 間違えてた
× $ans = ($ang > 3.14 and 3.15 < $ang) ? 'true' : 'false'; ○ $ans = (3.14 < $ang and $ang < 3.15) ? 'true' : 'false'; しかし、実行結果は ~ $ perl 17_186_istar.pl true true false true 二番目がtrueになってしまう…orz
- 201 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 17:12:31 ID:tQG0pn8t.net]
- >>196
内角の和が180°かで判定すると二番目のデータのような 星のひしゃげたような形も星型扱いされてしまう 交線計算が要るんじゃないかな
- 202 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 18:56:51 ID:uUpf2Y3l.net]
- >>193
条件が1個足りなかった 最低7回ですかね
- 203 名前:デフォルトの名無しさん mailto:sage [2020/04/17(金) 19:39:38.21 ID:uUpf2Y3l.net]
- https://ideone.com/dAwxsI
- 204 名前:デフォルトの名無しさん [2020/04/17(金) 23:20:45 ID:GLu8MX8J.net]
- >>188
Kotlin https://paiza.io/projects/BBr9uBvBedkLv6sZKj1z2A やってることは >>192 とほぼ同じ。reduce() という丁度良いやつがあったのでそれを使った。
- 205 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 04:51:44 ID:hOyj3UHi.net]
- お題: クリックすると画面が上下左右に揺れまくるボタンを作りなさい
- 206 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 06:43:51.86 ID:YnXQesFn.net]
- 「五角形P0-P1-P2-P3-P4が星形である」と「五角形P0-P2-P4-P1-P3が凸五角形である」は同値でいいのかな
- 207 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 06:48:34 ID:N4WXNODD.net]
- 自明だね
- 208 名前:デフォルトの名無しさん [2020/04/18(土) 14:12:42.90 ID:IwpZ9OtG.net]
- atan2とか要りそう
知らんけど
- 209 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 14:40:52 ID:rV7GPkSs.net]
- 内積とかでできそう
知らんけど
- 210 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:18:27.16 ID:/6mIZfhm.net]
- >>203 同値ではない
>>186 の三番目のデータは凸五角形だが、順番に線分で結んでも星形にならない
- 211 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:34:26 ID:N4WXNODD.net]
- >>206
3番目のデータに関して 「五角形P0-P1-P2-P3-P4が星形である」 => false 「五角形P0-P2-P4-P1-P3が凸五角形である」 => false 反例にはなっていないはずだが?
- 212 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:47:06 ID:30AxPVCB.net]
- 「五角形P0-P1-P2-P3-P4が凸五角形である」 => true
「五角形P0-P2-P4-P1-P3が星形である」 => true 多分言いたいのはこっちでしょ いずれにしろ反例になってないけど
- 213 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 16:59:35 ID:oyi4MQQP.net]
- 結局コードは同じになりそう
知らんけど
- 214 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 17:09:16.93 ID:30AxPVCB.net]
- そりゃ同値なんだから
点の指定順が変わるだけ
- 215 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 17:29:34 ID:8ogfpEcQ.net]
- 同値だと違うアルゴリズムでも同じコードになるのか
知らんかった
- 216 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 17:34:30 ID:30AxPVCB.net]
- 何を言ってるんだこの人は
- 217 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 17:37:26 ID:8ogfpEcQ.net]
- なんだ違うのか orz
- 218 名前:デフォルトの名無しさん [2020/04/18(土) 18:04:17.09 ID:U3Va20gw.net]
- いつものキチガイでしょ。
- 219 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:39:39.01 ID:9Ypi4rqk.net]
- >>207
4番目のデータは?
- 220 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:46:42.32 ID:N4WXNODD.net]
- >>215
「五角形P0-P1-P2-P3-P4が星形である」 => true 「五角形P0-P2-P4-P1-P3が凸五角形である」 => true だから反例じゃねえだろ つーか凸角形の定義と対角線の定義から同値性は自明だろ 何が分からないのかが素でわからん というか日本語通じてんのかこれ
- 221 名前:デフォルトの名無しさん [2020/04/18(土) 22:48:13.84 ID:n1sMw7/h.net]
- またキチガイが暴れてるのか…
- 222 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:50:15.61 ID:H1RDccYw.net]
- >>216
4番目のデータの「五角形P0-P2-P4-P1-P3」は変な形してない?
- 223 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:50:52.43 ID:N4WXNODD.net]
- >>218
綺麗な凸5角形ですがなにか
- 224 名前:デフォルトの名無しさん [2020/04/18(土) 22:52:15 ID:n1sMw7/h.net]
- ID真っ赤やん
- 225 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:53:23 ID:r5aLC6gt.net]
- >>219
「P0-P2-P1-P4-P3」のことを言っている? 「P0-P2-P4-P1-P3」を結んだ五角形みた?
- 226 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:54:18 ID:N4WXNODD.net]
- >>221
「P0-P2-P4-P1-P3」が綺麗な凸5角形だと言ってる >>220 お前は死ね
- 227 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:57:07 ID:N4WXNODD.net]
- これ見てよく考えて
_4____ 2____1 ______ ______ ______ ______ 03____
- 228 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 22:59:19 ID:GFBeMLbL.net]
- >>221
ホントだすまんおれの手元の描画ミス 検算プログラム書いたが4番目のデータ、0-2-4-1-3で一周回ってきたときの方向かえる角度の和が2piにならんのよね ANG: -0.785398163397448 -1.03037682652431 -1.14103404769821 -0.896055384571344 -1.5707963267949 和: -5.42366074898621 なーにかが間違ってるのか…
- 229 名前:デフォルトの名無しさん [2020/04/18(土) 23:19:38 ID:3QrrEgXO.net]
- 五角形の内角の和は540度だぞw
- 230 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 23:23:05 ID:N4WXNODD.net]
- 内角じゃなくてどれだけ曲がったかの和を計算してるんだから2PIで良いだろ
数値があってんのかは知らんが
- 231 名前:デフォルトの名無しさん [2020/04/18(土) 23:50:57 ID:tXl890QR.net]
- ニチャァ…
- 232 名前:デフォルトの名無しさん mailto:sage [2020/04/18(土) 23:58:10 ID:ZN+TZ1sR.net]
- 算数できないやつが単発IDで必死にマウント取ろうとしてて草
- 233 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 00:09:28 ID:10eyuplu.net]
- >>224
どうやって計算したのか知らんが 3番目は2.0005586058915847だな
- 234 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 00:25:50 ID:suK8nNv5.net]
- >>229
検算とヒントありがと、2.00055860589158 - (-1.14103404769821) = 3.14159265358979 プログラの間違い直せたら書き込むわ
- 235 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 00:29:16 ID:10eyuplu.net]
- >>230
普通に余弦定理で内角求めてPIから引くだけだよな?
- 236 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 00:35:52.14 ID:suK8nNv5.net]
- >>231
1)内積⇒arccos 2)外積⇒arcsin 凸判定には角度0や符号反転も要検出なので 2)でやってるがどっかに間違い入っちゃったかもしれなす
- 237 名前:デフォルトの名無しさん [2020/04/19(日) 00:56:56 ID:tNtEbJNg.net]
- 自演と思わないと精神保てないの草
- 238 名前:デフォルトの名無しさん [2020/04/19(日) 01:15:18.71 ID:kCjisW+o.net]
- お題:マップの縮尺から画面の縮尺バーの長さを求めろ。
縮尺は、現実:画面 = 1:s バーの長さは100以上で出来るだけ短くする。 バーの現実での長さの数値は 1, 2, 5 が頭にきて以降は0のみが続くもののみ許される。(1桁なら0がなくても良い) 例: s = 0.003 → 150 0.01 → 100 0.4 → 200 0.96 → 192
- 239 名前:デフォルトの名無しさん [2020/04/19(日) 06:41:17.34 ID:J81tNU7x.net]
- >>234
問題がよくわからない。
- 240 名前:デフォルトの名無しさん [2020/04/19(日) 07:17:30.86 ID:kCjisW+o.net]
- 説明が下手ですみません。
縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。 その現実で何キロメートルかというのがバーの左に表示されています。 バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。 そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。 この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。 バーの長さは取りうるものの中で最小のものでお願いします。
- 241 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 07:38:33.09 ID:aJCN2KvM.net]
- >>234
scheme https://ideone.com/y3TCVC
- 242 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 07:56:27.14 ID:n5nVZY1D.net]
- >>233
ひっでえブーメランで草
- 243 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 08:58:41.21 ID:OfVksrZS.net]
- 外角って言葉、最近は習わない?
- 244 名前:デフォルトの名無しさん [2020/04/19(日) 12:05:15 ID:bDqlqATM.net]
- 単発IDワラワラ
- 245 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 12:16:31 ID:ylCglSST.net]
- ちょっと数学の話になる度にむきになって荒らすのが必ず一人いるからな
- 246 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 12:30:18.52 ID:6WjGzswu.net]
- お題に答えろよ
- 247 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 13:11:54 ID:+exX8g3v.net]
- 日本語や説明が下手なお題だと考える気も起こらない
- 248 名前:デフォルトの名無しさん [2020/04/19(日) 14:11:18 ID:J81tNU7x.net]
- >>236
現実:画面 = 1:s という式の意味は?
- 249 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 15:33:55 ID:xgV79Bs/.net]
- >>186 Perl5、P0-P2-P4-P1-P3が凸五角形であるか、で判定
@t = ([[0,0], [1,2], [2,0], [0,1], [2,1]], [[0,0], [1,2], [2,0], [0,2], [2,2]], [[0,0], [0,1], [1,2], [2,1], [2,0]], [[0,0], [5,5], [0,5], [1,0], [1,6]], [[0,1], [0,0], [1,0],[-1,-2],[-2,-1]] ); @s = qw{0 2 4 1 3 0 2}; use PDL; use PDL::Math; use PDL::Constants qw(PI); use feature 'signatures'; sub f($v1, $v2) { my $sp = sum $v1 * $v2; $v2 = -$v2 if
- 250 名前: $sp < 0.0;
my $ang = asin det pdl $v1 , $v2; $ang = $ang >= 0.0 ? -PI + $ang : PI + $ang if $sp < 0.0; $ang } for $ps (@t) { @vs = map{pdl $ps->[$s[$_]]} 0..6; @es = map{norm($vs[$_+1] - $vs[$_])} 0..5; $angs = pdl map{f $es[$_], $es[$_+1]} 0..4; $ans = 'true'; $ans = 'false' if (grep{abs $angs->at($_) < 0.0001} 0..4) or $angs->min * $angs->max < 0.0; $ttl = sum $angs; $ans = 'false' if abs $ttl < 6.28 or abs $ttl > 6.29; print "$ttl = Σ$angs: $ans\n"; } [] - [ここ壊れてます]
- 251 名前:デフォルトの名無しさん mailto:sage [2020/04/19(日) 15:35:04 ID:dE29U5t1.net]
- >>245 の実行結果
~ $ perl 17_186_convx_pent.pl The signatures feature is experimental at 17_186_convx_pent.pl line 12, <DATA> line 207. 6.28318528610616 = Σ[ 1.5707963 0.78539816 1.5707963 0.78539816 1.5707963]: true 6.28318530717959 = Σ[ 1.5707963 1.5707963 0 1.5707963 1.5707963]: false -12.5663706143592 = Σ[-2.2142974 -2.4980915 -2.677945 -2.677945 -2.4980915]: false -6.28318530717959 = Σ[-0.78539816 -1.0303768 -2.0005586 -0.89605538 -1.5707963]: true -12.5663706143592 = Σ[-2.0344439 -2.9996956 -2.4980915 -2.9996956 -2.0344439]: false
- 252 名前:デフォルトの名無しさん [2020/04/19(日) 16:09:00.64 ID:wiVZfWUn.net]
- >>131
Java https://paiza.io/projects/h7MLf_mTw3NEdN0Fc1t1cg
|

|