プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part16
https://mevius.5ch.net/test/read.cgi/tech/1573948822/
探検
プログラミングのお題スレ Part17
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/03/13(金) 01:42:47.06ID:0rEhys36146デフォルトの名無しさん
2020/04/15(水) 12:23:24.76ID:229B67vy >>131 js
let input = [[2, 3], [3, 4], [7, 10]];
let result = input.reduce((merged, range) => {
let under = range.map(n =>
merged.filter(mrange => mrange[0] <= n && n <= mrange[1])[0]||[]);
let extended = [under[0][0] || range[0], under[1][1] || range[1]];
let bored = merged.filter(mrange => !(extended[0] <= mrange[0] && mrange[1] <= extended[1]));
return [...bored, extended];
}, []);
console.log(result);
let input = [[2, 3], [3, 4], [7, 10]];
let result = input.reduce((merged, range) => {
let under = range.map(n =>
merged.filter(mrange => mrange[0] <= n && n <= mrange[1])[0]||[]);
let extended = [under[0][0] || range[0], under[1][1] || range[1]];
let bored = merged.filter(mrange => !(extended[0] <= mrange[0] && mrange[1] <= extended[1]));
return [...bored, extended];
}, []);
console.log(result);
147デフォルトの名無しさん
2020/04/15(水) 12:57:38.58ID:qoEmvMwd148デフォルトの名無しさん
2020/04/15(水) 15:02:35.67ID:3oL83xUj >>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
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
149デフォルトの名無しさん
2020/04/15(水) 15:04:17.94ID:IXOt/09v150蟻人間 ◆T6xkBnTXz7B0
2020/04/15(水) 21:28:09.80ID:mz+a7+dL お題: 二次元空間にナゾの物体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)の組を出力せよ。
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)の組を出力せよ。
151デフォルトの名無しさん
2020/04/15(水) 21:56:01.64ID://wWJwAN はい、次の方どうぞ
152蟻人間 ◆T6xkBnTXz7B0
2020/04/15(水) 22:30:18.26ID:mz+a7+dL お題: 次のようなプログラムを作れ。プログラムを起動したとき、ファイル「times.txt」に現在の日時を秒単位で記録した後、
前回の起動日時との差を求め、時間差の秒数を表示せよ。
ただし、うるう秒を考慮すること。
前回の起動日時との差を求め、時間差の秒数を表示せよ。
ただし、うるう秒を考慮すること。
153デフォルトの名無しさん
2020/04/15(水) 23:31:28.64ID:/1JmN5U2154デフォルトの名無しさん
2020/04/16(木) 00:11:24.84ID:qhHxDSDQ155デフォルトの名無しさん
2020/04/16(木) 00:30:51.63ID:qxGCpnz3 乙。
156デフォルトの名無しさん
2020/04/16(木) 01:19:43.21ID:6omvFBXS >>153
アスペルガー症候群は黙ってた方がいい
アスペルガー症候群は黙ってた方がいい
157デフォルトの名無しさん
2020/04/16(木) 01:25:27.80ID:Yc0fbgtG 初速度や離れすぎ、近づきすぎの条件が書いてないのは事実で回答しようも無いんだし
そういうのはやめたらどうかと思うんだが
そういうのはやめたらどうかと思うんだが
158デフォルトの名無しさん
2020/04/16(木) 01:27:18.30ID:iTxUXfYH そういう柔軟性のなさがアスペルガー症候群くさいんだよなぁ…
まあ本当は出題の意図は分かってて敢えてイチャモン付けてるんだろうけど
まあ本当は出題の意図は分かってて敢えてイチャモン付けてるんだろうけど
159デフォルトの名無しさん
2020/04/16(木) 01:28:44.29ID:Yc0fbgtG160デフォルトの名無しさん
2020/04/16(木) 01:37:52.71ID:iTxUXfYH 俺なら初期位置も計算の打ち止め条件も完全に無視してポテンシャルの極小値を求めるプログラムを書いて提示するかな
出題者が期待してるのはそういうものだろうし些細な出題の問題点をいちいち指摘してボツにさせる気なんか起きないな
出題者が期待してるのはそういうものだろうし些細な出題の問題点をいちいち指摘してボツにさせる気なんか起きないな
161デフォルトの名無しさん
2020/04/16(木) 01:40:49.88ID:s4YIDkZq >>160
そのプログラムを投稿すればいいだけの話
そのプログラムを投稿すればいいだけの話
162デフォルトの名無しさん
2020/04/16(木) 01:43:39.05ID:iTxUXfYH じゃあ俺はアスペルガー症候群では?って言っただけの話
163デフォルトの名無しさん
2020/04/16(木) 01:47:00.10ID:s4YIDkZq164デフォルトの名無しさん
2020/04/16(木) 01:49:51.08ID:s4YIDkZq 無名掲示板とはいえ、人様に言う言葉にはもう少し気を使え
165デフォルトの名無しさん
2020/04/16(木) 01:50:45.97ID:XsJA9brB せっかく考えて出題してくれてるのに頭ごなしにボツにされようとしてるのを見て許せなかったんだよ
166デフォルトの名無しさん
2020/04/16(木) 01:52:40.82ID:s4YIDkZq それとこれとは別問題
お前の気分しだいで人に失礼なことをするのはよせ
お前の気分しだいで人に失礼なことをするのはよせ
167デフォルトの名無しさん
2020/04/16(木) 01:54:43.63ID:0k+XXy1f 君、ネット向いてないよ
168デフォルトの名無しさん
2020/04/16(木) 01:57:06.29ID:s4YIDkZq 飲むとスルー力が鈍るのは認める。
169デフォルトの名無しさん
2020/04/16(木) 01:58:36.86ID:XeDXz4LY まるでシラフならスルースキル高いかのような言い草で寒っ
170デフォルトの名無しさん
2020/04/16(木) 02:00:46.80ID:s4YIDkZq 今日はちょっと虫の居所が悪くてな、すまんな。
ちな上の方のレスのうち、どれが俺の回答か分かるかな
ちな上の方のレスのうち、どれが俺の回答か分かるかな
171デフォルトの名無しさん
2020/04/16(木) 02:05:16.91ID:oMF0NE5s 急に語り出して劇寒
172デフォルトの名無しさん
2020/04/16(木) 02:06:03.31ID:s4YIDkZq あげあしとりで終わりかよ
つまんねー
つまんねー
173デフォルトの名無しさん
2020/04/16(木) 02:08:57.22ID:s4YIDkZq174デフォルトの名無しさん
2020/04/16(木) 02:21:19.79ID:kjXrQDZb 今までも同じようにあまりよろしくないお題を出してそのたびにスルーか同じように指摘され続けてるんだからこんなもんでは?
個人的には全く解いてみたいと思えないお題ばかり
お題作るのは難しいなぁとつくづく感じる
個人的には全く解いてみたいと思えないお題ばかり
お題作るのは難しいなぁとつくづく感じる
175デフォルトの名無しさん
2020/04/16(木) 02:24:22.48ID:7PlP0fH8 ここはすききらいをしゃべるすれではありません
176デフォルトの名無しさん
2020/04/16(木) 02:24:26.49ID:GrYlaJ67 お題作るのは難しいよ
ちょうどいい難易度が難しい
ちょうどいい難易度が難しい
177デフォルトの名無しさん
2020/04/16(木) 02:25:43.69ID:s4YIDkZq そりゃ気持ちはわかっけどさー
解いてみたいと思えないお題ばかり、ってことはさすがに無い。
お題によって回答したい、したくないはあるぞ、
時間が許せば、それには回答してきた
解いてみたいと思えないお題ばかり、ってことはさすがに無い。
お題によって回答したい、したくないはあるぞ、
時間が許せば、それには回答してきた
178デフォルトの名無しさん
2020/04/16(木) 02:27:00.67ID:/gsmKway おまえ名言()とか好きそうだな
179デフォルトの名無しさん
2020/04/16(木) 02:27:53.73ID:s4YIDkZq >>178
何か心に響いたか?
何か心に響いたか?
180デフォルトの名無しさん
2020/04/16(木) 04:43:54.36ID:G88s3oE4 糞コテのお題をスルーできてない時点でどっちもゴミ
181デフォルトの名無しさん
2020/04/16(木) 05:18:07.63ID:FKJpjkAo お題、JAVA
ウインドウで、ボールを動かして、振り子にしろ。
ウインドウで、ボールを動かして、振り子にしろ。
182デフォルトの名無しさん
2020/04/16(木) 15:33:05.77ID:CZ2awm/7183デフォルトの名無しさん
2020/04/16(木) 18:34:42.45ID:Ao1pcPxo 眠くなってきた
184デフォルトの名無しさん
2020/04/16(木) 19:17:37.16ID:A3RNLqkM 草
185デフォルトの名無しさん
2020/04/16(木) 19:18:52.09ID:D2Oboa0/ >>182
しゅごい・・・
しゅごい・・・
186デフォルトの名無しさん
2020/04/16(木) 21:50:22.06ID:yL7j0Eir お題:
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
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
187デフォルトの名無しさん
2020/04/16(木) 22:15:17.40ID:A3RNLqkM 線型代数の問題だな
188デフォルトの名無しさん
2020/04/16(木) 22:30:46.61ID:+l2higCM お題
急減少列かどうかを判定せよ。
ただし急減少列とは、(末尾以外の)どの要素もそれ以降の要素の総和より大きい列のこと。
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
急減少列かどうかを判定せよ。
ただし急減少列とは、(末尾以外の)どの要素もそれ以降の要素の総和より大きい列のこと。
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
189デフォルトの名無しさん
2020/04/16(木) 22:37:52.73ID:dbvXh7HJ 逆順に並べた方が良いなあ
急増加列?
急増加列?
190デフォルトの名無しさん
2020/04/16(木) 22:57:42.94ID:tWuPngtw >>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
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
191デフォルトの名無しさん
2020/04/17(金) 00:26:03.00ID:aBy1G2y60192デフォルトの名無しさん
2020/04/17(金) 02:37:38.65ID:GLu8MX8J193デフォルトの名無しさん
2020/04/17(金) 09:07:37.71ID:uUpf2Y3l194デフォルトの名無しさん
2020/04/17(金) 09:10:52.22ID:uUpf2Y3l 直線と点の位置関係判別を6回に減らした
195デフォルトの名無しさん
2020/04/17(金) 16:03:16.50ID:FcD+/8tF >>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
@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
196デフォルトの名無しさん
2020/04/17(金) 17:08:25.08ID:TdOLExdu >>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
× $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
197デフォルトの名無しさん
2020/04/17(金) 17:12:31.49ID:tQG0pn8t198デフォルトの名無しさん
2020/04/17(金) 18:56:51.04ID:uUpf2Y3l199デフォルトの名無しさん
2020/04/17(金) 19:39:38.21ID:uUpf2Y3l200デフォルトの名無しさん
2020/04/17(金) 23:20:45.04ID:GLu8MX8J >>188
Kotlin
https://paiza.io/projects/BBr9uBvBedkLv6sZKj1z2A
やってることは >>192 とほぼ同じ。reduce() という丁度良いやつがあったのでそれを使った。
Kotlin
https://paiza.io/projects/BBr9uBvBedkLv6sZKj1z2A
やってることは >>192 とほぼ同じ。reduce() という丁度良いやつがあったのでそれを使った。
201デフォルトの名無しさん
2020/04/18(土) 04:51:44.87ID:hOyj3UHi お題: クリックすると画面が上下左右に揺れまくるボタンを作りなさい
202デフォルトの名無しさん
2020/04/18(土) 06:43:51.86ID:YnXQesFn 「五角形P0-P1-P2-P3-P4が星形である」と「五角形P0-P2-P4-P1-P3が凸五角形である」は同値でいいのかな
203デフォルトの名無しさん
2020/04/18(土) 06:48:34.99ID:N4WXNODD 自明だね
204デフォルトの名無しさん
2020/04/18(土) 14:12:42.90ID:IwpZ9OtG atan2とか要りそう
知らんけど
知らんけど
205デフォルトの名無しさん
2020/04/18(土) 14:40:52.97ID:rV7GPkSs 内積とかでできそう
知らんけど
知らんけど
206デフォルトの名無しさん
2020/04/18(土) 16:18:27.16ID:/6mIZfhm207デフォルトの名無しさん
2020/04/18(土) 16:34:26.54ID:N4WXNODD >>206
3番目のデータに関して
「五角形P0-P1-P2-P3-P4が星形である」 => false
「五角形P0-P2-P4-P1-P3が凸五角形である」 => false
反例にはなっていないはずだが?
3番目のデータに関して
「五角形P0-P1-P2-P3-P4が星形である」 => false
「五角形P0-P2-P4-P1-P3が凸五角形である」 => false
反例にはなっていないはずだが?
208デフォルトの名無しさん
2020/04/18(土) 16:47:06.00ID:30AxPVCB 「五角形P0-P1-P2-P3-P4が凸五角形である」 => true
「五角形P0-P2-P4-P1-P3が星形である」 => true
多分言いたいのはこっちでしょ
いずれにしろ反例になってないけど
「五角形P0-P2-P4-P1-P3が星形である」 => true
多分言いたいのはこっちでしょ
いずれにしろ反例になってないけど
209デフォルトの名無しさん
2020/04/18(土) 16:59:35.61ID:oyi4MQQP 結局コードは同じになりそう
知らんけど
知らんけど
210デフォルトの名無しさん
2020/04/18(土) 17:09:16.93ID:30AxPVCB そりゃ同値なんだから
点の指定順が変わるだけ
点の指定順が変わるだけ
211デフォルトの名無しさん
2020/04/18(土) 17:29:34.15ID:8ogfpEcQ 同値だと違うアルゴリズムでも同じコードになるのか
知らんかった
知らんかった
212デフォルトの名無しさん
2020/04/18(土) 17:34:30.91ID:30AxPVCB 何を言ってるんだこの人は
213デフォルトの名無しさん
2020/04/18(土) 17:37:26.92ID:8ogfpEcQ なんだ違うのか orz
214デフォルトの名無しさん
2020/04/18(土) 18:04:17.09ID:U3Va20gw いつものキチガイでしょ。
215デフォルトの名無しさん
2020/04/18(土) 22:39:39.01ID:9Ypi4rqk >>207
4番目のデータは?
4番目のデータは?
216デフォルトの名無しさん
2020/04/18(土) 22:46:42.32ID:N4WXNODD >>215
「五角形P0-P1-P2-P3-P4が星形である」 => true
「五角形P0-P2-P4-P1-P3が凸五角形である」 => true
だから反例じゃねえだろ
つーか凸角形の定義と対角線の定義から同値性は自明だろ
何が分からないのかが素でわからん
というか日本語通じてんのかこれ
「五角形P0-P1-P2-P3-P4が星形である」 => true
「五角形P0-P2-P4-P1-P3が凸五角形である」 => true
だから反例じゃねえだろ
つーか凸角形の定義と対角線の定義から同値性は自明だろ
何が分からないのかが素でわからん
というか日本語通じてんのかこれ
217デフォルトの名無しさん
2020/04/18(土) 22:48:13.84ID:n1sMw7/h またキチガイが暴れてるのか…
218デフォルトの名無しさん
2020/04/18(土) 22:50:15.61ID:H1RDccYw >>216
4番目のデータの「五角形P0-P2-P4-P1-P3」は変な形してない?
4番目のデータの「五角形P0-P2-P4-P1-P3」は変な形してない?
219デフォルトの名無しさん
2020/04/18(土) 22:50:52.43ID:N4WXNODD >>218
綺麗な凸5角形ですがなにか
綺麗な凸5角形ですがなにか
220デフォルトの名無しさん
2020/04/18(土) 22:52:15.69ID:n1sMw7/h ID真っ赤やん
221デフォルトの名無しさん
2020/04/18(土) 22:53:23.50ID:r5aLC6gt222デフォルトの名無しさん
2020/04/18(土) 22:54:18.63ID:N4WXNODD223デフォルトの名無しさん
2020/04/18(土) 22:57:07.50ID:N4WXNODD これ見てよく考えて
_4____
2____1
______
______
______
______
03____
_4____
2____1
______
______
______
______
03____
224デフォルトの名無しさん
2020/04/18(土) 22:59:19.73ID:GFBeMLbL >>221
ホントだすまんおれの手元の描画ミス
検算プログラム書いたが4番目のデータ、0-2-4-1-3で一周回ってきたときの方向かえる角度の和が2piにならんのよね
ANG: -0.785398163397448 -1.03037682652431 -1.14103404769821 -0.896055384571344 -1.5707963267949
和: -5.42366074898621
なーにかが間違ってるのか…
ホントだすまんおれの手元の描画ミス
検算プログラム書いたが4番目のデータ、0-2-4-1-3で一周回ってきたときの方向かえる角度の和が2piにならんのよね
ANG: -0.785398163397448 -1.03037682652431 -1.14103404769821 -0.896055384571344 -1.5707963267949
和: -5.42366074898621
なーにかが間違ってるのか…
225デフォルトの名無しさん
2020/04/18(土) 23:19:38.75ID:3QrrEgXO 五角形の内角の和は540度だぞw
226デフォルトの名無しさん
2020/04/18(土) 23:23:05.51ID:N4WXNODD 内角じゃなくてどれだけ曲がったかの和を計算してるんだから2PIで良いだろ
数値があってんのかは知らんが
数値があってんのかは知らんが
227デフォルトの名無しさん
2020/04/18(土) 23:50:57.37ID:tXl890QR ニチャァ…
228デフォルトの名無しさん
2020/04/18(土) 23:58:10.79ID:ZN+TZ1sR 算数できないやつが単発IDで必死にマウント取ろうとしてて草
229デフォルトの名無しさん
2020/04/19(日) 00:09:28.10ID:10eyuplu230デフォルトの名無しさん
2020/04/19(日) 00:25:50.90ID:suK8nNv5231デフォルトの名無しさん
2020/04/19(日) 00:29:16.44ID:10eyuplu >>230
普通に余弦定理で内角求めてPIから引くだけだよな?
普通に余弦定理で内角求めてPIから引くだけだよな?
232デフォルトの名無しさん
2020/04/19(日) 00:35:52.14ID:suK8nNv5233デフォルトの名無しさん
2020/04/19(日) 00:56:56.21ID:tNtEbJNg 自演と思わないと精神保てないの草
234デフォルトの名無しさん
2020/04/19(日) 01:15:18.71ID:kCjisW+o お題:マップの縮尺から画面の縮尺バーの長さを求めろ。
縮尺は、現実:画面 = 1:s
バーの長さは100以上で出来るだけ短くする。
バーの現実での長さの数値は 1, 2, 5 が頭にきて以降は0のみが続くもののみ許される。(1桁なら0がなくても良い)
例:
s = 0.003 → 150
0.01 → 100
0.4 → 200
0.96 → 192
縮尺は、現実:画面 = 1:s
バーの長さは100以上で出来るだけ短くする。
バーの現実での長さの数値は 1, 2, 5 が頭にきて以降は0のみが続くもののみ許される。(1桁なら0がなくても良い)
例:
s = 0.003 → 150
0.01 → 100
0.4 → 200
0.96 → 192
235デフォルトの名無しさん
2020/04/19(日) 06:41:17.34ID:J81tNU7x >>234
問題がよくわからない。
問題がよくわからない。
236デフォルトの名無しさん
2020/04/19(日) 07:17:30.86ID:kCjisW+o 説明が下手ですみません。
縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。
その現実で何キロメートルかというのがバーの左に表示されています。
バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。
そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。
この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。
バーの長さは取りうるものの中で最小のものでお願いします。
縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。
その現実で何キロメートルかというのがバーの左に表示されています。
バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。
そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。
この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。
バーの長さは取りうるものの中で最小のものでお願いします。
237デフォルトの名無しさん
2020/04/19(日) 07:38:33.09ID:aJCN2KvM238デフォルトの名無しさん
2020/04/19(日) 07:56:27.14ID:n5nVZY1D >>233
ひっでえブーメランで草
ひっでえブーメランで草
239デフォルトの名無しさん
2020/04/19(日) 08:58:41.21ID:OfVksrZS 外角って言葉、最近は習わない?
240デフォルトの名無しさん
2020/04/19(日) 12:05:15.55ID:bDqlqATM 単発IDワラワラ
241デフォルトの名無しさん
2020/04/19(日) 12:16:31.87ID:ylCglSST ちょっと数学の話になる度にむきになって荒らすのが必ず一人いるからな
242デフォルトの名無しさん
2020/04/19(日) 12:30:18.52ID:6WjGzswu お題に答えろよ
243デフォルトの名無しさん
2020/04/19(日) 13:11:54.30ID:+exX8g3v 日本語や説明が下手なお題だと考える気も起こらない
244デフォルトの名無しさん
2020/04/19(日) 14:11:18.59ID:J81tNU7x245デフォルトの名無しさん
2020/04/19(日) 15:33:55.52ID:xgV79Bs/ >>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 $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";
}
@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 $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";
}
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★3 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 【テレビ】石破前首相 中国レーダー照射「フェーズ上がってる」と指摘も「日本の世論が激高するのは避ける必要が…」 [少考さん★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 小泉防衛大臣「事前通報の認識無し」 [163661708]
- 【悲報】中国メディア「高市が撤回して済む話ではなくなった。わざと戦闘機をレーダー照射距離に来させる戦争扇動者だ」 [359965264]
- 【画像】GACKTプロデュースの7800円弁当、めちゃくちゃ美味そう🤤 [779938112]
- 女「17年毎日袋麺持ち歩いて触ってる」触り終えた袋麺は施設職員により保管されており、その数は8000
- メモリ価格が暴落、中国CXMTが「DDR5-8000」の製造に成功し即日発売、ただし1チップ2GB=最大容量16GB [422186189]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
