20/04/03 19:53:54.22 MoLJYTUl.net
>>72 マルチポスト&スレチ
スレリンク(tech板)
76:72
20/04/03 20:02:16.50 tv+k2Xei.net
向こうのスレから移動したので、このスレで続けて下さい!
77:デフォルトの名無しさん
20/04/03 20:06:07.16 etO49JcP.net
粘着者湧いてるじゃん
78:デフォルトの名無しさん
20/04/03 20:13:05 D8CnMwXH.net
>>72
js
result=input==""?"":Number(input)
79:デフォルトの名無しさん
20/04/03 20:17:14 Ea8es11U.net
>>72
perl5
URLリンク(pastebin.com)
80:デフォルトの名無しさん
20/04/03 20:17:36 D8CnMwXH.net
すまん、よく読んでなかったわ
81:デフォルトの名無しさん
20/04/04 00:40:59 oi+wB/l2.net
>>72 Perl5
for $a (qw{090 0080 123 0 000}) {
($b = $a) =~ s/^0*([\d])/$1/;
print "$a → $b\n"
}
実行結果
~ $ perl 17_72_0dec.pl
090 → 90
0080 → 80
82:123 → 123 0 → 0 000 → 0
83:デフォルトの名無しさん
20/04/04 00:43:04 7bsK3hPl.net
>>79 いや、([\d])は(\d)で十分だた…
for $a (qw{090 0080 123 0 000}) {
($b = $a) =~ s/^0*(\d)/$1/;
print "$a → $b\n"
}
84:デフォルトの名無しさん
20/04/04 01:02:31.09 PfYZfNM0.net
>>80
r オプションつかうと括弧省ける
$b = $a =~ s/^0*(\d)/$1/r;
85:デフォルトの名無しさん
20/04/04 01:49:49 jL2VaRwC.net
>>81
そっか、今度から置換代入にはr使ってみる。
も少し書き換えたら、こうなった
for (qw{090 0080 123 0 000}) {
/^0*(\d+)/;
print "$_ → $1\n"
}
~ $ perl 17_72_0dec.pl
090 → 90
0080 → 80
123 → 123
0 → 0
000 → 0
86:72
20/04/04 12:46:11.12 1ehA2Rbs.net
>>72
Ruby で
def delete_successive_zero( str )
return "" if str == ""
str.to_i.to_s # 10進数
end
ary = %w(090 0080 123 0 000)
ary.push ""
p ary.map { |str| delete_successive_zero( str ) }
出力
[ "90", "80", "123", "0", "0", "" ]
87:デフォルトの名無しさん
20/04/04 13:37:45 tmNSQTrZ.net
>>52 Dart
void main() {
final List<String> anchors = ["1", "1-3", "1,3", "1,3-5"];
anchors.forEach((anchor) => print("$anchor => ${toNums(anchor)}"));
}
List<int> toNums(str) {
final List<int> result = [];
str.split(",").forEach((param){
if(param.contains("-")) {
result.addAll(hoge(param));
} else {
result.add(int.parse(param));
}
});
return result;
}
List<int> hoge(str) {
final List<int> result = [];
final range = str.split("-");
for(var i = int.parse(range[0]);i <= int.parse(range[1]); i++) result.add(i);
return result;
}
// =>
1 => [1]
1-3 => [1, 2, 3]
1,3 => [1, 3]
1,3-5 => [1, 3, 4, 5]
88:デフォルトの名無しさん
20/04/04 13:48:29 qnbQjwAi.net
>>72 Python
def strip(s):
s = s.lstrip('0')
if not len(s):
return '0'
return s
89:デフォルトの名無しさん
20/04/04 14:34:09.15 VszBH+2q.net
>>72
Java
URLリンク(paiza.io)
90:デフォルトの名無しさん
20/04/04 23:52:04.74 sokSr0we.net
>>85
""が0になりませんか
91:デフォルトの名無しさん
20/04/05 01:07:14.83 14D27qM5.net
>>72
>>85修正
URLリンク(ideone.com)
92:デフォルトの名無しさん
20/04/05 05:36:36.03 sZO7YFrq.net
>>72
Perl5
ある意味手抜きなプログラムである。
URLリンク(paiza.io)
オマケ機能としてマイナスの時に -00009 みたいなやつも -9 になるようにした。
更に、整数の数でない場合(文字列の場合)はダブルクォーテーションで括って出すようにした。
93:デフォルトの名無しさん
20/04/05 05:42:34.94 sZO7YFrq.net
>>72
Kotlin
URLリンク(paiza.io)
>>89よりも更にもっと手抜きである。びっくりするほど何もやってない。仕様は同じ。
94:デフォルトの名無しさん
20/04/05 06:46:49.40 14D27qM5.net
あ~マイナス値は考慮してなかったな~
95:デフォルトの名無しさん
20/04/05 06:56:54 RExqiO2w.net
教えて君の質問に馬鹿正直に答えてやるなよ
96:デフォルトの名無しさん
20/04/05 07:43:19 14D27qM5.net
>>72 Python
URLリンク(ideone.com)
PerlとKotlinの人のに比べると長くなってしまったのが心残り
97:デフォルトの名無しさん
20/04/05 12:55:09.83 SfC0ZJYK.net
粘着君の意に反して回答わっさわっさ来ててワロタ
98:デフォルトの名無しさん
20/04/05 12:56:43.55 yw9/uuhJ.net
粘着君ってなんやねん
スレチだって言われてんだろ
99:デフォルトの名無しさん
20/04/05 13:01:09.81 SfC0ZJYK.net
えw それ言ってるのが粘着君じゃないの?w
どの辺がスレチなのか知らんけど君の意見なんか誰も同調しないかのように回答わさわさなのを見てどんな気持ち???w
100:デフォルトの名無しさん
20/04/05 13:06:14.44 yw9/uuhJ.net
あほくさ
101:デフォルトの名無しさん
20/04/05 13:06:52.23 liJZihU7.net
>>72 GNU Smalltalk
| fn |
fn := [:str | str isEmpty ifTrue: [str] ifFalse: [str asNumber]].
(#('090' '0080' '123' '0' '000' '') collect: fn) display.
=> (90 80 123 0 0 '' )
URLリンク(ideone.com)
102:デフォルトの名無しさん
20/04/05 13:07:50.11 SfC0ZJYK.net
わざわざ他スレから出張してまで粘着するも自分の思い通りにならず涙目敗北草不可避w
103:デフォルトの名無しさん
20/04/05 13:08:52.29 5b4pXRMu.net
ID:SfC0ZJYKは有名な荒しだよ
スルーしな
104:デフォルトの名無しさん
20/04/05 13:10:52.18 SfC0ZJYK.net
そのように言っている自分自身の策略書き込みがスルーされているという悲劇ww
105:デフォルトの名無しさん
20/04/05 13:13:48.87 QyCQlkmw.net
共有NG入ってて草
>>72が自力で解けない時点で脳みそに障害あるだろコイツ
106:デフォルトの名無しさん
20/04/05 13:15:17.06 SfC0ZJYK.net
ブツブツと負け惜しみを垂れ流しているその姿はまさに哀愁満点 w
107:デフォルトの名無しさん
20/04/07 16:39:18 WiIyPE7p.net
>>72
部分解なら lisp で
(loop for i in (list 090 0080 123 0 000 ) do (format t "~d~%" i))
90
80
123
0
0
108:デフォルトの名無しさん
20/04/07 19:00:27.59 i9ABTPYd.net
であればもうこれで十分って感じがしてきた^^;
>>72 GNU Smalltalk
#(090 0080 123 0 000 '') display.
=> (90 80 123 0 0 '' )
URLリンク(ideone.com)
109:デフォルトの名無しさん
20/04/08 07:58:45 5CDGaVzP.net
お題: レスの被アンカー数をレスごとにカウントし、降順に整列して出力せよ
入力は1レス1行で入力され、1行のフォーマットは「レス番:レス内容」でコロンで区切ってある
レスの入力がすべて終わった段階でレスごとに被アンカー数を計算し、「レス番:カウント数」のフォーマットで出力せよ
入力と出力例: URLリンク(ideone.com)
110:デフォルトの名無しさん
20/04/08 16:25:56 gvYQZ6Pp.net
こんな感じで作ったな
select_word_and_anchor.pl
URLリンク(ideone.com)
cat ~/.w3m/keymap
# vim: set nowrap
keymap a EXEC_SHELL "w3m -cols 200 $( echo $W3M_URL| sed 's/[-l][0-9]\+//' ) | /home/web/extract_body_of_2ch.sh | /home/bin/select_word_and_anchor.pl|less"
111:デフォルトの名無しさん
20/04/08 16:30:02 gvYQZ6Pp.net
動作はこんな感じ 例にあるような常用2chアンカー機能する
URLリンク(i.imgur.com)
112:デフォルトの名無しさん
20/04/08 23:06:09 jh8IMM/7.net
>>106 Perl5
for (<>) {
($r, @a) = /([-\d]+)/g;
push @s, $r;
for (@a) {
@b = /(\d+)/g;
$h{$_}++ for $b[0]..$b[-1]
}
}
printf "%d: %d\n", $_, $h{$_}//0 for @s;
実行結果
URLリンク(ideone.com)
113:デフォルトの名無しさん
20/04/09 00:05:07.49 VEjEdiDF.net
>>106 Perl5、ゴメン「降順に整列」が抜けてた…orz、やり直し
for (<>) {
($r, @a) = /([-\d]+)/g;
push @s, $r;
for (@a) {
@b = /(\d+)/g;
$h{$_}++ for $b[0]..$b[-1]
}
}
@t = sort{$h{$b} <=> $h{$a}} @s;
printf "$_: %d\n", $h{$_}//0 for @t;
実行結果
URLリンク(ideone.com)
114:デフォルトの名無しさん
20/04/09 10:38:42 Sx5ouxFp.net
>>106
話題そらそうと粘着君が必死だねwww負け組だっさwww
115:デフォルトの名無しさん
20/04/09 12:42:58.73 5swiwcjH.net
?
116:デフォルトの名無しさん
20/04/09 15:48:38 pqMoXxyo.net
荒らしは必ず、2回書き込む。
「そうだよね」とか、同意するレスを付けて、人数が多いように見せる
くだすれPython(超初心者用) その47【Ruby禁止】
Ruby禁止とか、色々なスレのタイトルを勝手に変える
工学部というコテハンだろ。
ソースコードを書かないし、プログラマーじゃないから相手をしないように!
117:デフォルトの名無しさん
20/04/09 16:48:05.84 G208HopB.net
>>113
そのスレは別のスレであり話題としてスレ違い。
そもそもそれらのスレでRuby禁止と付けられる原因を作っているお前が言うな。
お前こそコテハンをつけるか書き込みをやめるかしろよ。
118:デフォルトの名無しさん
20/04/09 16:59:35 EoH4bsm+.net
>>113
悔しいんでしょwwそうゆう風にいつまでも負け惜しみ言ってなよwww
119:デフォルトの名無しさん
20/04/10 15:52:58 FxL3k9Tv.net
>>110
コード短いね
120:デフォルトの名無しさん
20/04/10 15:53:17 FxL3k9Tv.net
ageてしまった
121:デフォルトの名無しさん
20/04/10 17:33:36 gIxx/WN6.net
気にすんな
122:デフォルトの名無しさん
20/04/10 17:34:13 GWaBtrPd.net
age禁止ってまだやってんの?
123:デフォルトの名無しさん
20/04/10 17:42:36 7f4O8kzL.net
非常事態を宣言します
124:デフォルトの名無しさん
20/04/10 20:50:54 gIxx/WN6.net
このスレは放っておくとすぐ過疎っちゃうんだからむしろもっともっと激しくテッテ的にage続けるべきだ。
125:デフォルトの名無しさん
20/04/11 00:56:36 qHx8Q1G9.net
>>110
for (´・ω・`) {
}
126:デフォルトの名無しさん
20/04/11 01:07:31 Rbw4pROQ.net
>>106 Python
URLリンク(ideone.com)
127:デフォルトの名無しさん
20/04/11 01:11:10 fnqXUaLM.net
(><)
128:デフォルトの名無しさん
20/04/12 00:40:37.82 j0O/fDVx.net
>>106
Java
URLリンク(paiza.io)
129:デフォルトの名無しさん
20/04/13 23:30:53.99 +Sqc38Tr.net
>>106
Kotlin
URLリンク(paiza.io)
130:デフォルトの名無しさん
20/04/14 00:06:26.40 hs9mI5+o.net
>>106
Kotlin
正規表現使わない版
URLリンク(paiza.io)
更に最初から SortedMap に入れるようにした。
131:デフォルトの名無しさん
20/04/14 01:39:02.43 hs9mI5+o.net
>>106
C
URLリンク(paiza.io)
やっぱCで標準のライブラリしか使わないと長くなるな。
132:デフォルトの名無しさん
20/04/14 01:44:11 cZOfM+S5.net
if(m[n]==null) m[n]=1
の部分と三項演算子の部分の後分は機能が被ってませんか?
133:デフォルトの名無しさん
20/04/14 12:04:01 ZuF0W/s6.net
>>61 Perl5、正規表現を使った文字列処理ではなく、数値のリストに対する処理として書いてみた
sub f {
my @s;
while (my $e = shift) { push @s, $e }
@_ ? (@s ? (\@s, f(@_)) : f(@_)) : \@s;
}
sub g { @_ > 2 ? "$_[0]-$_[-1]" : @_ }
for ([1], [2,3], [1,2,3], [1,3], [1,3,4,5], [7,9]) {
@a = ();
@a[@$_] = @$_;
@b = f @a;
@c = map{g @$_} @b;
$"=',';
print "[@$_] -> '@c'\n";
}
実行結果
~ $ perl 17_61_resanc_0414fp.pl
[1] -> '1'
[2,3] -> '2,3'
[1,2,3] -> '1-3'
[1,3] -> '1,3'
[1,3,4,5] -> '1,3-5'
[7,9] -> '7,9'
134:蟻人間 ◆T6xkBnTXz7B0
20/04/14 12:53:55 QRiFiZHs.net
お題: 整数の閉区間がいくつか与えられる。
それらの和集合を求め、それをいくつかの閉区間で出力せよ。
出力の閉区間の個数はなるべく少なくすること。
(
135:例) [1, 5], [2, 6], [-1, 10] ==> [-1, 10]. [2, 3], [3, 4], [7, 10] ==> [2, 4], [7, 10].
136:デフォルトの名無しさん
20/04/14 14:56:59.99 vknfd45S.net
>>129
三項演算子ではない(Kotlinには三項演算子はない)。?: はエルビス演算子で、左側の式が null だったら右側の値を使うというやつ。nullでなければそのまま左側の値を使う。
で、その部分は先頭のレス番号のキーがまだ作られてなかったら0で初期化する部分だ。
m[n] = m[n] ?: 0
とも書けるが、これは何か無駄な感じがする。nullでなければ同じ値の代入になるので。だからifで必要な時だけの代入(初期化)にした。
137:デフォルトの名無しさん
20/04/14 15:14:57 U0kTSrBw.net
>>131 Perl5
sub f {
my @s;
while (defined (my $e = shift)) { push @s, $e }
@_ ? (@s ? (\@s, f(@_)) : f(@_)) : \@s;
}
sub g { map{"[$$_[0],$$_[-1]]"} @_ }
for ([[1, 5], [2, 6], [-1, 10]],
[[2, 3], [3, 4], [7, 10]]) {
%h = map{$_ => $_} map{$$_[0]..$$_[1]} @$_;
@k = sort{$a <=> $b} keys %h;
@l = f map{$h{$_}} $k[0]..$k[-1];
$"=',';
@j = g @$_;
@k = g @l;
print "@j ==> @k\n";
}
実行結果
~ $ perl 17_131_intrange.pl
[1,5],[2,6],[-1,10] ==> [-1,10]
[2,3],[3,4],[7,10] ==> [2,4],[7,10]
138:デフォルトの名無しさん
20/04/14 15:35:48 cZOfM+S5.net
>>132
なるほど。ありがとうございます。
139:デフォルトの名無しさん
20/04/14 17:17:14 h96nPay3.net
数式を標準入力から与えられる。
計算結果を出力しなさい。
条件
・数式の長さが1000を超える場合や、不正な数式についてはErrorと出力すること
・整数を出力しなさい
・小数点が出る場合は切り捨てた値を出力すること
・eval禁止
・数式に利用できる文字 0123456789+-*/()
・数式に半角スペースは含まれない
140:デフォルトの名無しさん
20/04/14 17:45:13.26 SdOMVfQl.net
>>135 数式のサンプルよろ
141:デフォルトの名無しさん
20/04/14 17:50:15.21 OuRgqSbO.net
100/2(3+4)
はいくつですか?
142:デフォルトの名無しさん
20/04/14 17:56:57 7oi1O/kb.net
>>137
*が省かれているからErrorとする
あるいは100/2*(2+3)とみなして250
じゃまいか
143:蟻人間 ◆T6xkBnTXz7B0
20/04/14 19:35:28 Ozse1OSh.net
お題: CD/DVDドライブのトレイを開きなさい。
144:デフォルトの名無しさん
20/04/14 19:48:22 rsqvGSlE.net
>>135 Ruby
eval gets rescue $><<:Error
145:デフォルトの名無しさん
20/04/14 19:50:23 rsqvGSlE.net
typo
p eval$_ rescue$><<:Error while gets
146:デフォルトの名無しさん
20/04/14 20:13:52.06 AV9/Nsy0.net
>>139
言語:日本語
実行:日本人
CD/DVDドライブのトレイを開きなさい。
147:
20/04/14 20:35:51.72 42R+WK0w.net
>>142
言語:日本語
実行:日本語を理解する人
の方が正確ですね
148:デフォルトの名無しさん
20/04/14 22:24:45 8w/NVh3l.net
>>139 Python
import ctypes
ctypes.windll.WINMM.mciSendStringW(u"set cdaudio door open", None, 0, None)
149:デフォルトの名無しさん
20/04/15 01:04:36.72 RHvlA1sV.net
三項演算子ないとかゴミだな
150:デフォルトの名無しさん
20/04/15 12:23:24 229B67vy.net
>>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);
151:デフォルトの名無しさん
20/04/15 12:57:38 qoEmvMwd.net
>>135 F#
URLリンク(ideone.com)
152:デフォルトの名無しさん
20/04/15 15:02:35.67 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:デフォルトの名無しさん
20/04/15 15:04:17.94 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
20/04/15 21:28:09 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:デフォルトの名無しさん
20/04/15 21:56:01.64 //wWJwAN.net
はい、次の方どうぞ
156:蟻人間 ◆T6xkBnTXz7B0
20/04/15 22:30:18 mz+a7+dL.net
お題: 次のようなプログラムを作れ。プログラムを起動したとき、ファイル「times.txt」に現在の日時を秒単位で記録した後、
前回の起動日時との差を求め、時間差の秒数を表示せよ。
ただし、うるう秒を考慮すること。
157:デフォルトの名無しさん
20/04/15 23:31:28 /1JmN5U2.net
>>150
慣性が働いて抵抗が無いなら収束などしない
永遠に振動し続ける
初速度も書いて無いし
離れすぎ、近づきすぎの条件も書いてない
158:デフォルトの名無しさん
20/04/16 00:11:24 qhHxDSDQ.net
>>131 c
URLリンク(ideone.com)
159:デフォルトの名無しさん
20/04/16 00:30:51 qxGCpnz3.net
乙。
160:デフォルトの名無しさん
20/04/16 01:19:43 6omvFBXS.net
>>153
アスペルガー症候群は黙ってた方がいい
161:デフォルトの名無しさん
20/04/16 01:25:27 Yc0fbgtG.net
初速度や離れすぎ、近づきすぎの条件が書いてないのは事実で回答しようも無いんだし
そういうのはやめたらどうかと思うんだが
162:デフォルトの名無しさん
20/04/16 01:27:18 iTxUXfYH.net
そういう柔軟性のなさがアスペルガー症候群くさいんだよなぁ…
まあ本当は出題の意図は分かってて敢えてイチャモン付けてるんだろうけど
163:デフォルトの名無しさん
20/04/16 01:28:44 Yc0fbgtG.net
>>158
じゃあ、お前さんがお題の回答プログラム
どうぞよろしく
164:デフォルトの名無しさん
20/04/16 01:37:52 iTxUXfYH.net
俺なら初期位置も計算の打ち止め条件も完全に無視してポテンシャルの極小値を求めるプログラムを書いて提示するかな
出題者が期待してるのはそういうものだろうし些細な出題の問題点をいちいち指摘してボツにさせる気なんか起きないな
165:デフォルトの名無しさん
20/04/16 01:40:49 s4YIDkZq.net
>>160
そのプログラムを投稿すればいいだけの話
166:デフォルトの名無しさん
20/04/16 01:43:39 iTxUXfYH.net
じゃあ俺はアスペルガー症候群では?って言っただけの話
167:デフォルトの名無しさん
20/04/16 01:47:00 s4YIDkZq.net
>>161
自分では回答も提示せず人様をアスペ呼ばわりして
でも周りはアスペではなかったどうするの
168:デフォルトの名無しさん
20/04/16 01:49:51 s4YIDkZq.net
無名掲示板とはいえ、人様に言う言葉にはもう少し気を使え
169:デフォルトの名無しさん
20/04/16 01:50:45 XsJA9brB.net
せっかく考えて出題してくれてるのに頭ごなしにボツにされようとしてるのを見て許せなかったんだよ
170:デフォルトの名無しさん
20/04/16 01:52:40 s4YIDkZq.net
それとこれとは別問題
お前の気分しだいで人に失礼なことをするのはよせ
171:デフォルトの名無しさん
20/04/16 01:54:43 0k+XXy1f.net
君、ネット向いてないよ
172:デフォルトの名無しさん
20/04/16 01:57:06.29 s4YIDkZq.net
飲むとスルー力が鈍るのは認める。
173:デフォルトの名無しさん
20/04/16 01:58:36.86 XeDXz4LY.net
まるでシラフならスルースキル高いかのような言い草で寒っ
174:デフォルトの名無しさん
20/04/16 02:00:46.80 s4YIDkZq.net
今日はちょっと虫の居所が悪くてな、すまんな。
ちな上の方のレスのうち、どれが俺の回答か分かるかな
175:デフォルトの名無しさん
20/04/16 02:05:16 oMF0NE5s.net
急に語り出して劇寒
176:デフォルトの名無しさん
20/04/16 02:06:03 s4YIDkZq.net
あげあしとりで終わりかよ
つまんねー
177:デフォルトの名無しさん
20/04/16 02:08:57 s4YIDkZq.net
>>150
大体お前が悪いんだよ
もう少し考えて出題できませんかね
178:デフォルトの名無しさん
20/04/16 02:21:19.79 kjXrQDZb.net
今までも同じようにあまりよろしくないお題を出してそのたびにスルーか同じように指摘され続けてるんだからこんなもんでは?
個人的には全く解いてみたいと思えないお題ばかり
お題作るのは難しいなぁとつくづく感じる
179:デフォルトの名無しさん
20/04/16 02:24:22.48 7PlP0fH8.net
ここはすききらいをしゃべるすれではありません
180:デフォルトの名無しさん
20/04/16 02:24:26.49 GrYlaJ67.net
お題作るのは難しいよ
ちょうどいい難易度が難しい
181:デフォルトの名無しさん
20/04/16 02:25:43.69 s4YIDkZq.net
そりゃ気持ちはわかっけどさー
解いてみたいと思えないお題ばかり、ってことはさすがに無い。
お題によって回答したい、したくないはあるぞ、
時間が許せば、それには回答してきた
182:デフォルトの名無しさん
20/04/16 02:27:00.67 /gsmKway.net
おまえ名言()とか好きそうだな
183:デフォルトの名無しさん
20/04/16 02:27:53.73 s4YIDkZq.net
>>178
何か心に響いたか?
184:デフォルトの名無しさん
20/04/16 04:43:54 G88s3oE4.net
糞コテのお題をスルーできてない時点でどっちもゴミ
185:デフォルトの名無しさん
20/04/16 05:18:07 FKJpjkAo.net
お題、JAVA
ウインドウで、ボールを動かして、振り子にしろ。
186:デフォルトの名無しさん
20/04/16 15:33:05.77 CZ2awm/7.net
>>181 js(Javaじゃなくてすまん)
URLリンク(codepen.io)
187:デフォルトの名無しさん
20/04/16 18:34:42.45 Ao1pcPxo.net
眠くなってきた
188:デフォルトの名無しさん
20/04/16 19:17:37.16 A3RNLqkM.net
草
189:デフォルトの名無しさん
20/04/16 19:18:52.09 D2Oboa0/.net
>>182
しゅごい・・・
190:デフォルトの名無しさん
20/04/16 21:50:22 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:デフォルトの名無しさん
20/04/16 22:15:17.40 A3RNLqkM.net
線型代数の問題だな
192:デフォルトの名無しさん
20/04/16 22:30:46.61 +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:デフォルトの名無しさん
20/04/16 22:37:52.73 dbvXh7HJ.net
逆順に並べた方が良いなあ
急増加列?
194:デフォルトの名無しさん
20/04/16 22:57:42 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:デフォルトの名無しさん
20/04/17 00:26:03.00 aBy1G2y60.net
>>186 js
線分交差判定アルゴリズムはググった
URLリンク(ideone.com)
196:デフォルトの名無しさん
20/04/17 02:37:38 GLu8MX8J.net
>>188
Perl5
URLリンク(paiza.io)
単に逆順にして加算しながら比較しているだけの誰にでも出来る簡単なお仕事。
197:デフォルトの名無しさん
20/04/17 09:07:37.71 uUpf2Y3l.net
>>186
URLリンク(ideone.com)
198:デフォルトの名無しさん
20/04/17 09:10:52.22 uUpf2Y3l.net
直線と点の位置関係判別を6回に減らした
199:デフォルトの名無しさん
20/04/17 16:03:16 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:デフォルトの名無しさん
20/04/17 17:08:25 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:デフォルトの名無しさん
20/04/17 17:12:31 tQG0pn8t.net
>>196
内角の和が180°かで判定すると二番目のデータのような
星のひしゃげたような形も星型扱いされてしまう
交線計算が要るんじゃないかな
202:デフォルトの名無しさん
20/04/17 18:56:51 uUpf2Y3l.net
>>193
条件が1個足りなかった
最低7回ですかね
203:デフォルトの名無しさん
20/04/17 19:39:38.21 uUpf2Y3l.net
URLリンク(ideone.com)
204:デフォルトの名無しさん
20/04/17 23:20:45 GLu8MX8J.net
>>188
Kotlin
URLリンク(paiza.io)
やってることは >>192 とほぼ同じ。reduce() という丁度良いやつがあったのでそれを使った。
205:デフォルトの名無しさん
20/04/18 04:51:44 hOyj3UHi.net
お題: クリックすると画面が上下左右に揺れまくるボタンを作りなさい
206:デフォルトの名無しさん
20/04/18 06:43:51.86 YnXQesFn.net
「五角形P0-P1-P2-P3-P4が星形である」と「五角形P0-P2-P4-P1-P3が凸五角形である」は同値でいいのかな
207:デフォルトの名無しさん
20/04/18 06:48:34 N4WXNODD.net
自明だね
208:デフォルトの名無しさん
20/04/18 14:12:42.90 IwpZ9OtG.net
atan2とか要りそう
知らんけど
209:デフォルトの名無しさん
20/04/18 14:40:52 rV7GPkSs.net
内積とかでできそう
知らんけど
210:デフォルトの名無しさん
20/04/18 16:18:27.16 /6mIZfhm.net
>>203 同値ではない
>>186 の三番目のデータは凸五角形だが、順番に線分で結んでも星形にならない
211:デフォルトの名無しさん
20/04/18 16:34:26 N4WXNODD.net
>>206
3番目のデータに関して
「五角形P0-P1-P2-P3-P4が星形である」 => false
「五角形P0-P2-P4-P1-P3が凸五角形である」 => false
反例にはなっていないはずだが?
212:デフォルトの名無しさん
20/04/18 16:47:06 30AxPVCB.net
「五角形P0-P1-P2-P3-P4が凸五角形である」 => true
「五角形P0-P2-P4-P1-P3が星形である」 => true
多分言いたいのはこっちでしょ
いずれにしろ反例になってないけど
213:デフォルトの名無しさん
20/04/18 16:59:35 oyi4MQQP.net
結局コードは同じになりそう
知らんけど
214:デフォルトの名無しさん
20/04/18 17:09:16.93 30AxPVCB.net
そりゃ同値なんだから
点の指定順が変わるだけ
215:デフォルトの名無しさん
20/04/18 17:29:34 8ogfpEcQ.net
同値だと違うアルゴリズムでも同じコードになるのか
知らんかった
216:デフォルトの名無しさん
20/04/18 17:34:30 30AxPVCB.net
何を言ってるんだこの人は
217:デフォルトの名無しさん
20/04/18 17:37:26 8ogfpEcQ.net
なんだ違うのか orz
218:デフォルトの名無しさん
20/04/18 18:04:17.09 U3Va20gw.net
いつものキチガイでしょ。
219:デフォルトの名無しさん
20/04/18 22:39:39.01 9Ypi4rqk.net
>>207
4番目のデータは?
220:デフォルトの名無しさん
20/04/18 22:46:42.32 N4WXNODD.net
>>215
「五角形P0-P1-P2-P3-P4が星形である」 => true
「五角形P0-P2-P4-P1-P3が凸五角形である」 => true
だから反例じゃねえだろ
つーか凸角形の定義と対角線の定義から同値性は自明だろ
何が分からないのかが素でわからん
というか日本語通じてんのかこれ
221:デフォルトの名無しさん
20/04/18 22:48:13.84 n1sMw7/h.net
またキチガイが暴れてるのか…
222:デフォルトの名無しさん
20/04/18 22:50:15.61 H1RDccYw.net
>>216
4番目のデータの「五角形P0-P2-P4-P1-P3」は変な形してない?
223:デフォルトの名無しさん
20/04/18 22:50:52.43 N4WXNODD.net
>>218
綺麗な凸5角形ですがなにか
224:デフォルトの名無しさん
20/04/18 22:52:15 n1sMw7/h.net
ID真っ赤やん
225:デフォルトの名無しさん
20/04/18 22:53:23 r5aLC6gt.net
>>219
「P0-P2-P1-P4-P3」のことを言っている?
「P0-P2-P4-P1-P3」を結んだ五角形みた?
226:デフォルトの名無しさん
20/04/18 22:54:18 N4WXNODD.net
>>221
「P0-P2-P4-P1-P3」が綺麗な凸5角形だと言ってる
>>220
お前は死ね
227:デフォルトの名無しさん
20/04/18 22:57:07 N4WXNODD.net
これ見てよく考えて
_4____
2____1
______
______
______
______
03____
228:デフォルトの名無しさん
20/04/18 22:59:19 GFBeMLbL.net
>>221
ホントだすまんおれの手元の描画ミス
検算プログラム書いたが4番目のデータ、0-2-4-1-3で一周回ってきたときの方向かえる角度の和が2piにならんのよね
ANG: -0.785398163397448 -1.03037682652431 -1.14103404769821 -0.896055384571344 -1.5707963267949
和: -5.42366074898621
なーにかが間違ってるのか…
229:デフォルトの名無しさん
20/04/18 23:19:38 3QrrEgXO.net
五角形の内角の和は540度だぞw
230:デフォルトの名無しさん
20/04/18 23:23:05 N4WXNODD.net
内角じゃなくてどれだけ曲がったかの和を計算してるんだから2PIで良いだろ
数値があってんのかは知らんが
231:デフォルトの名無しさん
20/04/18 23:50:57 tXl890QR.net
ニチャァ…
232:デフォルトの名無しさん
20/04/18 23:58:10 ZN+TZ1sR.net
算数できないやつが単発IDで必死にマウント取ろうとしてて草
233:デフォルトの名無しさん
20/04/19 00:09:28 10eyuplu.net
>>224
どうやって計算したのか知らんが
3番目は2.0005586058915847だな
234:デフォルトの名無しさん
20/04/19 00:25:50 suK8nNv5.net
>>229
検算とヒントありがと、2.00055860589158 - (-1.14103404769821) = 3.14159265358979
プログラの間違い直せたら書き込むわ
235:デフォルトの名無しさん
20/04/19 00:29:16 10eyuplu.net
>>230
普通に余弦定理で内角求めてPIから引くだけだよな?
236:デフォルトの名無しさん
20/04/19 00:35:52.14 suK8nNv5.net
>>231
1)内積⇒arccos
2)外積⇒arcsin
凸判定には角度0や符号反転も要検出なので
2)でやってるがどっかに間違い入っちゃったかもしれなす
237:デフォルトの名無しさん
20/04/19 00:56:56 tNtEbJNg.net
自演と思わないと精神保てないの草
238:デフォルトの名無しさん
20/04/19 01:15:18.71 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:デフォルトの名無しさん
20/04/19 06:41:17.34 J81tNU7x.net
>>234
問題がよくわからない。
240:デフォルトの名無しさん
20/04/19 07:17:30.86 kCjisW+o.net
説明が下手ですみません。
縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。
その現実で何キロメートルかというのがバーの左に表示されています。
バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。
そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。
この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。
バーの長さは取りうるものの中で最小のものでお願いします。
241:デフォルトの名無しさん
20/04/19 07:38:33.09 aJCN2KvM.net
>>234
scheme
URLリンク(ideone.com)
242:デフォルトの名無しさん
20/04/19 07:56:27.14 n5nVZY1D.net
>>233
ひっでえブーメランで草
243:デフォルトの名無しさん
20/04/19 08:58:41.21 OfVksrZS.net
外角って言葉、最近は習わない?
244:デフォルトの名無しさん
20/04/19 12:05:15 bDqlqATM.net
単発IDワラワラ
245:デフォルトの名無しさん
20/04/19 12:16:31 ylCglSST.net
ちょっと数学の話になる度にむきになって荒らすのが必ず一人いるからな
246:デフォルトの名無しさん
20/04/19 12:30:18.52 6WjGzswu.net
お題に答えろよ
247:デフォルトの名無しさん
20/04/19 13:11:54 +exX8g3v.net
日本語や説明が下手なお題だと考える気も起こらない
248:デフォルトの名無しさん
20/04/19 14:11:18 J81tNU7x.net
>>236
現実:画面 = 1:s
という式の意味は?
249:デフォルトの名無しさん
20/04/19 15:33:55 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:デフォルトの名無しさん
20/04/19 15:35:04 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:デフォルトの名無しさん
20/04/19 16:09:00.64 wiVZfWUn.net
>>131
Java
URLリンク(paiza.io)
253:デフォルトの名無しさん
20/04/19 16:09:14.25 9DMQwSqL.net
URLリンク(mypage.syosetu.com)
知らねしね
254:デフォルトの名無しさん
20/04/19 16:14:07 o4nQ3+S9.net
>>244
具体的には、地球上で1mの長さの直線の道路があった時、それを画面の地図上で 1m × s の長さで表示するということです。
s=0.01ならその道路は画面に1cmで表示されます。
255:デフォルトの名無しさん
20/04/19 18:05:16.51 3h7RKaJW.net
>>234 Perl5 (問題の意図をくみ取り違えていなければ、下記で良い筈…ただし実の距離が一桁以下の場合はNGかも…)
for $s (qw{0.003 0.01 0.4 0.96}) {
$d = 1;
while ($s * $d < 10) { $d *= 10 }
if (50 <= ($s * $d)) {
$d *= 2;
} elsif (20 <= ($s * $d)) {
$d *= 5;
} else {
$d *= 10;
}
print "$s -> ", $s * $d, "\n";
}
実行結果
~ $ perl 17_234_scale_bar_len.pl
0.003 -> 150
0.01 -> 100
0.4 -> 200
0.96 -> 192
256:デフォルトの名無しさん
20/04/19 20:22:34 3rSuzVma.net
>>250 もっとスンナリ書けるんだった…
for (qw{0.003 0.01 0.4 0.96}) {
$d = $_;
while ($d < 10) { $d *= 10 }
if (50 <= $d) { $d *= 2 }
elsif (20 <= $d) { $d *= 5 }
else { $d *= 10 }
print "$_ -> ", $d, "\n";
}
257:デフォルトの名無しさん
20/04/20 06:02:04 C+lKY/AM.net
>>234 Ruby
def scale( s )
i = (100.0 / s).ceil
j = 100 * 10 ** - Math.log10( s ).to_i
s * j * [ 1, 2, 5 ].each{|k| break k if i <= k * j; 10 }
end
[ 0.003, 0.01, 0.4, 0.96 ].each{|x| puts "%-6g → %d" % [ x, scale(x) ] }
258:デフォルトの名無しさん
20/04/20 16:12:46 EsvxpnHB.net
>>181 Perl5 (Javaじゃなくてスマソ、ActivePerlなどのTkxモジュールがインストールされている環境で実行ください)
use Tkx;
$top = Tkx::widget->new('.');
$c = $top->new_canvas(-width => 300, -height => 300);
$c->g_pack(-expand => 1);
($x0, $y0) = (150, 50);
$r = 200;
($v, $theta) = (0, 3.1415 * 40 / 180);
($x, $y);
$dt = 20;
sub show {
($x, $y) = ($x0 + $r * sin $theta, $y0 + $r * cos $theta);
$c->coords($st
259:ick, $x0, $y0, $x, $y); $c->coords($ball, $x-7, $y-7, $x+7, $y+7); Tkx::after($dt, \&show); $a = -0.00098 * sin $theta; $a *= $a * $v > 0 ? 0.95 : 1/0.95; # dumping $dv = $a * $dt; $dtheta = ($v + $dv/2) * $dt / $r; $theta += $dtheta; $v += $dv; } show; $stick = $c->create_line($x0, $y0, $x, $y, -width => 2.0); $ball = $c->create_oval($x-7, $y-7, $x+7, $y+7, -fill => 'gray'); Tkx::MainLoop();
260:デフォルトの名無しさん
20/04/20 17:09:22.78 CQO/p7b7.net
最下点付近での近似だな
261:デフォルトの名無しさん
20/04/20 17:15:47 CQO/p7b7.net
いや普通のだったわ、すまん
262:デフォルトの名無しさん
20/04/20 18:33:21 SXRlK0qI.net
>>181 Python3 (Javaじゃなくてスマソ >>253 をインプリ, tkinterのインストールされている環境で実行ください)
import math, tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
x0, y0 = 150, 50
r = 200
v, theta = 0, 3.1415 * 40 / 180
x, y = x0 + r * math.sin(theta), y0 + r * math.cos(theta)
stick = canvas.create_line(x0, y0, x, y, width=2)
ball = canvas.create_oval(x-7, y-7, x+7, y+7, fill='gray')
dt = 20
def show():
global v, theta, x, y
a = -0.00098 * math.sin(theta)
a *= 0.95 if a * v > 0 else 1/0.95 # dumping
dv = a * dt;
dtheta = (v + dv/2) * dt / r
theta += dtheta;
v += dv;
x, y = x0 + r * math.sin(theta), y0 + r * math.cos(theta)
canvas.coords(stick, x0, y0, x, y)
canvas.coords(ball, x-7, y-7, x+7, y+7)
root.after(dt, show)
show()
root.mainloop()
263:デフォルトの名無しさん
20/04/20 19:55:58 qCtnBvYT.net
そろそろオレ二重振り子見たくなってきちゃったなァ
264:デフォルトの名無しさん
20/04/20 20:37:59.21 7fNLbA/z.net
double pendulumはカオスだからNG
265:デフォルトの名無しさん
20/04/20 21:50:54 3yxFdBsA.net
>>135
Java 操車場アルゴリズム
URLリンク(paiza.io)
266:デフォルトの名無しさん
20/04/20 22:11:41.07 7fNLbA/z.net
>>259
すげえな。
どうやって考えたの?
267:デフォルトの名無しさん
20/04/20 22:36:14 arq8EuUU.net
考えたわけじゃなくね?
268:デフォルトの名無しさん
20/04/20 23:51:34 RmTF1U13.net
これダイクストラなのか
269:デフォルトの名無しさん
20/04/21 00:32:44 2I58wt93.net
スタックに積んで処理していくっていう昔ながらの方法と何か違うの?
270:デフォルトの名無しさん
20/04/21 00:35:59 2I58wt93.net
ウィキペディアにあった
271:デフォルトの名無しさん
20/04/21 19:01:08.06 Nu/0ktL2.net
>>258
数値計算にカオスとか関係なくね?
272:デフォルトの名無しさん
20/04/23 02:45:01 40I0QciX.net
>>135
bash
URLリンク(paiza.io)
eval は使ってないw
273:デフォルトの名無しさん
20/04/23 05:19:07 GeQlI54q.net
>>265
ウルトラマンカオス。
274:デフォルトの名無しさん
20/04/23 22:15:50.71 CuZLC5Yi.net
>>181 Common Lisp (SBCL) + CLX。X Window Systemが使える環境で。>>253, >>256を参考に
(require "asdf")
(asdf:load-system "clx")
(defpackage #:pendulum (:use #:common-lisp #:xlib))
(in-package #:pendulum)
(defvar *display* (open-default-display))
(defvar *screen* (display-default-screen *display*))
(defvar *window* (create-window :parent (
275:screen-root *screen*) :x 0 :y 0 :width 300 :height 300 :background (screen-white-pixel *screen*))) (defvar *gcontext* (create-gcontext :drawable *window*)) (defparameter *x0* 150) (defparameter *y0* 50) (defparameter *r* 200) (defparameter *theta0* (/ (* pi 40) 180)) (defparameter *dt* 0.03) (map-window *window*) (loop for v = 0 then (+ v dv) for theta = *theta0* then (+ theta dtheta) for x = (+ *x0* (floor (* *r* (sin theta)))) for y = (+ *y0* (floor (* *r* (cos theta)))) for a = (let ((a (* -0.00098 (sin theta)))) (funcall (if (> (* a v) 0) #'* #'/) a 0.95)) for dv = (* a *dt*) for dtheta = (/ (* (+ v (/ dv 2)) *dt*) *r*) do (progn (draw-line *window* *gcontext* *x0* *y0* x y) (draw-arc *window* *gcontext* (- x 7) (- y 7) 14 14 0 (* 2 pi) t) (clear-area *window*)))
276:デフォルトの名無しさん
20/04/23 23:35:29 CLpyggBI.net
乙。
277:デフォルトの名無しさん
20/04/23 23:53:39 lusTU/GG.net
お題: 配列と列数が与えられるので配列を行列に再構築して返せ
例:
in < [1, 2, 3, 4], 2
out > [[1, 2], [3, 4]]
278:デフォルトの名無しさん
20/04/24 00:06:04 B1fvRJ4E.net
>>270 Perl5
$s = [1, 2, 3, 4];
$ncol = 2;
push @b, [splice @$s, 0, $ncol] while @$s;
use Data::Dump 'dump';
print dump(\@b,)."\n";
実行結果
~ $ perl 17_270.pl
[[1, 2], [3, 4]]
279:デフォルトの名無しさん
20/04/24 00:32:20 9Lyz0QqN.net
>>270 Ruby
p [*eval(str.sub(/],/,"].each_slice"))] # => [[1, 2], [3, 4]]
280:デフォルトの名無しさん
20/04/24 01:48:19 m2hQekEP.net
>>270 D
void main() @safe {
import std.stdio : writeln;
import std.range : chunks;
[1, 2, 3, 4].chunks(2).writeln;
}
281:デフォルトの名無しさん
20/04/24 02:15:23 XDANT2WI.net
>>270 matlab
reshape([1,2,3,4],[],2)
282:デフォルトの名無しさん
20/04/24 06:44:44 q4hgA9QE.net
入力無視すんなら最初からprint([[1,2,],[3,4]])ってかけばええやんw
283:デフォルトの名無しさん
20/04/24 06:56:30 oaHyD4Kv.net
>>270 J
f =: 4 : 0
(-x) , \ y
)
2 f 1 2 3 4
1 2
3 4
284:デフォルトの名無しさん
20/04/24 13:12:17 UlmQZP6K.net
>>275
あんたバカ?
285:デフォルトの名無しさん
20/04/24 14:03:24 LCR05+vC.net
このスレは入力のハードコーディングは禁止だって>>1に書いてるだろ?
286:デフォルトの名無しさん
20/04/24 15:04:41 SqTnlu82.net
みなのもの戦に備えろ
287:デフォルトの名無しさん
20/04/24 15:36:47.80 fZ+Jqbcm.net
>>270
Kotlin
URLリンク(paiza.io)
こういうことをするための chunked() という拡張関数がライブラリに最初からあるので自分ではほとんど何も考えてない。
288:デフォルトの名無しさん
20/04/24 16:43:36 QbKPO/NJ.net
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ < どうすっかな…… ,,、,、,,,
/三√ ゚Д゚) / \_______
/三/| ゚U゚|\ ,,、,、,,,
,,、,、,,, U (:::::::::::)∪ ,,、,、,,,
//三/|三|\ ,,,, ,,、,、,,,
∪ ∪
,, , ,,,, ,,、,、,,, ,,、,、,,,
,,,,, ∧_∧ うまいモナー,,,,, 、 ,,,,,, ,,,,,,,, ,,,,,
,,, ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
/ ̄ ( つ日ヽ ∧_∧ ( ) /
/ (__)) (´∀` ) ( ) ∧_∧∧_∧ / マターリモナー
∧_∧∧_∧ドーゾ (日ノ ) | | | ( ´∀`) ´∀`)
( ´∀`) ´∀`) ((__) ,(_(_) (○)⊂ ) つ日⊂ ) モーナー
―(つ⊂ ) つ⊂ )――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
(⌒)(⌒) (⌒)(⌒)グーグー
289:デフォルトの名無しさん
20/04/24 19:26:26 q4hgA9QE.net
>>277
死ねよゴミ
290:デフォルトの名無しさん
20/04/24 19:46:51 OOGSSbp6.net
お題:ABC問題を解いてみましょう。
概要。
URLリンク(originalnews.nico)
サンプル。
URLリンク(wandbox.org)
291:デフォルトの名無しさん
20/04/24 20:10:45 zMxMvQeG.net
解くって何をするん?
292:デフォルトの名無しさん
20/04/24 20:28:58 Ln0giejY.net
論文のurlを表示するとかでいいんじゃね?
293:デフォルトの名無しさん
20/04/24 20:56:21 pA5GOauV.net
お題
XORゲートは4つのNANDゲートで構成できることが知られている
この構成方法をプログラムで探索せよ
i番目のNANDゲートの入力を(ai,bi)、出力をciとする
XORゲートの入力を(X,Y)、出力をZとする
出力例
X->a1
Y->b1
X->a2
c1->b2
Y->a3
c1->b3
c2->a4
c3->b4
c4->Z
294:デフォルトの名無しさん
20/04/24 23:27:45 giWR9tWL.net
>>286
Step 6, Solution 1
0 : -1, -2: 0, 0, 1, 1 : 2
1 : -1, -2: 0, 1, 0, 1 : 2
2 : 1, 0: 1, 1, 1, 0 : 3
3 : 2, 0: 1, 1, 0, 1 : 3
4 : 2, 1: 1, 0, 1, 1 : 3
5 : 4, 3: 0, 1, 1, 0 : 2
295:デフォルトの名無しさん
20/04/25 02:15:29.89 7k5qv/w/.net
謎
296:デフォルトの名無しさん
20/04/25 08:29:40 He4LT43P.net
>>286 Ruby
URLリンク(ideone.com)
対称など考慮せずに 384通りの解が出てきた
ループ判定は手抜き
297:デフォルトの名無しさん
20/04/25 09:02:48 mTthreta.net
[0,0,0,0] は Array.new(4, 0)
[ nil,nil, nil,nil, nil,nil, nil,nil ] は Array.new(8)
って書いた方が分かりやすいな
あとcase-when はthenを使うのが良し
298:デフォルトの名無しさん
20/04/25 13:22:15 o1s8FM4j.net
細かっw
299:289
20/04/27 07:09:24 0mP+psCA.net
>>286 Ruby
URLリンク(ideone.com)
svg で回路図化、配線は手抜き
300:デフォルトの名無しさん
20/04/27 09:21:19.63 Vk+6u7Hb.net
次は全加算器をやってみよう。
4入力セレクタ辺りで限界でしょう。
301:デフォルトの名無しさん
20/04/27 18:53:24.75 KzmnkBMz0.net
このスレってアルゴリズムとかデータ構造を解説してくれる人はあまりいなんだな
302:デフォルトの名無しさん
20/04/27 19:18:51.96 XYadQOO0.net
聞かれなかったから
303:デフォルトの名無しさん
20/04/27 19:29:48 9Rl/jVuf.net
>>294
わからないことあったら聞こうよ
ガキじゃねえんだからさ
304:デフォルトの名無しさん
20/04/27 19:39:12 11UvoXnI.net
そらコードしか書かんわな
305:デフォルトの名無しさん
20/04/27 19:49:07 uF9iuztD.net
アルゴリズムは金になるからここじゃあ書かないよ。
聞きたくなるようなコードをチラ見せするのがプロ。
306:デフォルトの名無しさん
20/04/27 19:50:45 hGnxzjbK.net
聞きたくなるようなのあったか?
307:デフォルトの名無しさん
20/04/27 19:54:18 11UvoXnI.net
そもそもここにそんな高等なお題でねえだろ
308:デフォルトの名無しさん
20/04/27 21:06:36.61 KzmnkBMz.net
知らない言語の長いコードを読むのは難しいからアルゴリズムだけ書いてほしい
そうじゃなかったら何のために披露してるのかわからない
309:デフォルトの名無しさん
20/04/27 21:16:33.23 11UvoXnI.net
知らない言語を知ればいいだけやん
310:デフォルトの名無しさん
20/04/27 21:17:48.49 D3+TkawX.net
(誰かがきっと俺のコードをじっくり読んでくれるはず…!)
311:デフォルトの名無しさん
20/04/27 21:26:35 04Et8o2n.net
perl
312:とかだと全くわからん 暗号にしか見えん まあそれが楽しいんだろうけどw
313:デフォルトの名無しさん
20/04/27 22:44:33.33 9Rl/jVuf.net
アルゴリズムを教えるためのスレじゃないからなw
314:デフォルトの名無しさん
20/04/27 22:46:29.62 Nbm5XyHg.net
アルゴリズムの自信作を披露するスレだろ?
315:デフォルトの名無しさん
20/04/27 22:49:14.07 d54bWA3b.net
やりましたの報告スレじゃね?
しらんけど
316:デフォルトの名無しさん
20/04/27 22:50:44.47 pfA6eg61.net
お題:ワープ付き迷路
始点(S)、終点 (G)、通路(.)、ワープ(0-9)、壁(#)で構成される大きさH×Wの迷路を考える
プレイヤーは、隣接する壁以外のマスにコスト1で移動することができる
ワープマスに入った場合、プレイヤーは対となるワープマスにコスト0で強制的に移動する
迷路中に存在する0-9の個数は、各数字について0個または2個である
始点から終点に移動するときの最小コストを求めよ
ただし、終点に到達できない場合は"impossible"と出力せよ
4 6
1#S...
....#.
#####.
1..G..
=> 7 (ワープを使わずに右に進むとコストは8)
3 3
S1G
###
1##
=> impossible (ワープ先で身動きが取れなくなる)
1 22
S01234567890123498765G
=> 5 (S→0→9→4→5→G)
317:デフォルトの名無しさん
20/04/27 22:57:02.43 EEEc2NVc.net
>>301
披露してる側には意味はあるだろう。
お前の方には読めないコードでは意味がないのかもしれないけど、それはお前の都合でしかないだろう。
318:デフォルトの名無しさん
20/04/27 23:03:37 4xqUIPcT.net
まあそうムキになるな
余裕がある人はコメントなりレスなりで解説入れたりすればいいと思うよ
319:デフォルトの名無しさん
20/04/27 23:15:10 KzmnkBMz.net
>>309
例えば?
320:デフォルトの名無しさん
20/04/27 23:44:27 EEEc2NVc.net
>>311
とりあえず思い付くままにかいてみると、
アルゴリズムだけだったらとるに足らない問題だったり、逆に難しいけどそれただの数学の問題だよねってのが多いけど、それをプログラミング言語で書くから解く方も面白いし見る側も面白い。
同じ問題でも使う言語によって使える機能や記法が異なるから、様々な回答、解法が出てくる。
大抵の人は複数言語が読めるし詳しくなくてもちょっと考えたり調べれば読めるから、読めない人がいることをケアする必要性は特にない。
Jとか一部の言語のワンライナーとかは読めないことが多いけど、むしろそういう読めないようなコードで実現されていることが面白いし、読めないながらも感心してしまう。
アルゴリズムを疑似言語的に書こうとするとどうしても曖昧さや人によって解釈が異なる問題が出てしまうが、仕様が定義された言語を使えばその問題は回避できる。
321:デフォルトの名無しさん
20/04/27 23:47:51 KzmnkBMz0.net
312
>>292とか>>268ってどういうアルゴリズムなん?
やっぱ概要入れてくれたほうが親切だと思う
322:デフォルトの名無しさん
20/04/27 23:51:19 KzmnkBMz0.net
スマホのほうにはslipコマンドが設定してあるのでIDちょっと違いますが
自分はID:KzmnkBMzです
323:デフォルトの名無しさん
20/04/27 23:55:26 EEEc2NVc.net
>>313
説明つけてくれればそりゃ親切だろうけど、回答する人に初めからそこまで求めるなよ。
疑問があれば質問すればいいだけでしょ?
324:デフォルトの名無しさん
20/04/27 23:59:22 KzmnkBMz0.net
>>315
そういう見方もあるかもしれないですね
親切な
325:レスには説明ついていて助かりますね
326:デフォルトの名無しさん
20/04/28 01:00:38.45 0FC2c4TG.net
こういう流れを見てると、つくづくプログラマーって学生時代に冴えなかった奴等の巣窟なんだって痛感するよね…
327:デフォルトの名無しさん
20/04/28 01:33:53 mJox3ckA.net
自分語りかよ…
人を自分と一緒にしないでくれ
>>313 言っちゃー悪いそのレベルだと、まだまだ山のように勉強が必要だと思う
328:デフォルトの名無しさん
20/04/28 01:38:11 LE+4zw96.net
誰かに教えるスレじゃないんだからそういう見方しかないと思うけど…
329:デフォルトの名無しさん
20/04/28 01:38:37 tOE52D5S.net
>>317
それとブラック企業で使い潰され余裕ない奴な
330:デフォルトの名無しさん
20/04/28 01:46:12.43 ljT+88J3.net
俺は職業プログラマではないけどプライド高い人は多そうなイメージ
他板でもプログラミングスレは大抵荒れてる
331:デフォルトの名無しさん
20/04/28 01:48:31.06 dQnTZ6B4.net
勘違いしている底辺が大半
ごく一部が優秀
でもその付加価値に見合った価格が支払われない残念な分野
332:デフォルトの名無しさん
20/04/28 04:03:48 4kUhwH6S.net
教えて欲しいと言えないバカが文句言うスレ
333:デフォルトの名無しさん
20/04/28 04:09:27 lOCVF0xa.net
酷いアスペを見た
334:デフォルトの名無しさん
20/04/28 04:11:48 uDpqz1hl.net
>>324
減った?
335:デフォルトの名無しさん
20/04/28 04:29:18 ayTn4wb+.net
>>294のワード効きすぎだろ
何がそんなに刺さったんだ?
実際は1人が騒いでるだけか??
336:デフォルトの名無しさん
20/04/28 04:53:50 4kUhwH6S.net
スレへのヘイトになってるからねえ
死ねよ自己中
337:デフォルトの名無しさん
20/04/28 04:55:48 4kUhwH6S.net
>>294
こいつだけは絶対に許さない
2chの兵力あげてぶっ潰す
338:デフォルトの名無しさん
20/04/28 05:02:44.84 WLGi8zNs.net
執念やば
339:デフォルトの名無しさん
20/04/28 05:04:21 XMwGDU9f.net
そしてキモ
340:デフォルトの名無しさん
20/04/28 05:17:51 xTCZFQnU.net
とうしつこはい…
341:デフォルトの名無しさん
20/04/28 05:58:30 0ndGBSxH.net
疑問があったら聞けばいいのに
342:デフォルトの名無しさん
20/04/28 06:47:24.12 6K6MgdzD.net
自然科学 + グラフ理論 + 手書き作業 = アルゴリズム
343:デフォルトの名無しさん
20/04/28 06:58:04 cTXOkUEK.net
単振り子のアルゴリズムなんて運動方程式解くだけだろ
近似すれば高校生でも解ける
344:デフォルトの名無しさん
20/04/28 06:58:48 9sR0wNPf.net
アルゴリズムを勉強するスレでもないし
アルゴリズムを競うスレでもない
345:デフォルトの名無しさん
20/04/28 06:59:56 9sR0wNPf.net
>>334
振り子の運動方程式を解くのは非常に難しい
346:デフォルトの名無しさん
20/04/28 07:01:29.73 cTXOkUEK.net
>>336
中学生か?
それとも日本語初心者か?
347:デフォルトの名無しさん
20/04/28 07:03:30.32 9sR0wNPf.net
運動方程式を解く
の意味がわかってないアホ
348:デフォルトの名無しさん
20/04/28 07:04:23.62 cTXOkUEK.net
振幅が小さい時は簡単に微分方程式解けるだろ
日本語が読めないアホ
349:デフォルトの名無しさん
20/04/28 07:05:19.37 9sR0wNPf.net
近似にしても
±90度振れる振り子を近似するのは高校生には出来ない
350:デフォルトの名無しさん
20/04/28 07:05:41.36 9sR0wNPf.net
>>339
条件の後付け
351:デフォルトの名無しさん
20/04/28 07:06:24.06 cTXOkUEK.net
>>334「近似すれば高校生でも解ける」
後付けじゃねえよ。最初から言ってるわ
死ねよ
352:デフォルトの名無しさん
20/04/28 07:06:58.86 9sR0wNPf.net
振幅が小さいとき
353:デフォルトの名無しさん
20/04/28 07:07:14.65 cTXOkUEK.net
単振り子の微分方程式解くときに他にどんな近似するっていうんだ
真面目に精神障害者だろコイツ
354:デフォルトの名無しさん
20/04/28 07:09:17.81 9sR0wNPf.net
>>344
それしか知らないのに簡単とか言うな
355:デフォルトの名無しさん
20/04/28 07:10:42.04 9sR0wNPf.net
解析的には解けない
シミュレーションに頼る
シミュレーションの精度を上げるにも技術がいる
一言で簡単とか言うアホは何もわかってない
356:デフォルトの名無しさん
20/04/28 07:10:47.87 cTXOkUEK.net
>>345
死ねよアホ
お前がアホだからこの程度すら簡単に思えないだけ
死ね
357:デフォルトの名無しさん
20/04/28 07:12:17 cTXOkUEK.net
自分が頭悪いの棚に上げていちゃもんつけられても困るわ
358:デフォルトの名無しさん
20/04/28 07:32:33.87 9sR0wNPf.net
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ
簡単だって言うならやってみて
359:デフォルトの名無しさん
20/04/28 07:37:31.08 9sR0wNPf.net
近似が高校で習う1通りしか無いと思ってる時点でアホだし
そもそも近似でしか解けない
「単振動近似なら高校生でも解ける」
これなら誰も反対しない
360:デフォルトの名無しさん
20/04/28 07:38:59.20 9sR0wNPf.net
お題
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ
361:デフォルトの名無しさん
20/04/28 07:43:14 cTXOkUEK.net
振り子の運動方程式解くときに近似って言われて振幅が小さい場合を想定できないのは障害者のお前くらいだわ
362:デフォルトの名無しさん
20/04/28 07:44:14 cTXOkUEK.net
>>351
社会の迷惑だからさっさと死んどけ
363:デフォルトの名無しさん
20/04/28 07:56:20.53 UKf6vnXk.net
>>293 Ruby
半加算器
URLリンク(ideone.com)
URLリンク(ideone.com)
364:デフォルトの名無しさん
20/04/28 07:57:37 6K6MgdzD.net
プログラマの99%はリコメンドしない情報盗人。俺調べ。
365:デフォルトの名無しさん
20/04/28 07:58:28 9sR0wNPf.net
そもそも
>>334の「近似すれば」は「高校生でも解ける」にしかかかってないし
366:デフォルトの名無しさん
20/04/28 07:59:19 9sR0wNPf.net
高校生で習う知識が全てと思ってしまう高校生レベルのアホ
367:デフォルトの名無しさん
20/04/28 13:50:52 EhAaIQLq.net
底辺ITドカタは気性が荒いなぁ
368:デフォルトの名無しさん
20/04/28 18:50:58 9sR0wNPf.net
ごめん
369:デフォルトの名無しさん
20/04/28 18:55:56 9sR0wNPf.net
これでもサラリーマンの年収の上位5%に入るんだ
370:◆QZaw55cn4c
20/04/28 18:58:28 cQuYXkHz.net
>>349
重力加速度を指定ください
371:デフォルトの名無しさん
20/04/28 19:02:43 9sR0wNPf.net
9.80665
372:デフォルトの名無しさん
20/04/28 19:31:55 KJ919r2x.net
数学の話になると毎度現れるアスペ君今日も来てて草
アスペが重度なのか数学コンプが重度なのか
373:デフォルトの名無しさん
20/04/28 19:43:22 yUYRMh3W.net
>>308
C 幅優先探索
URLリンク(ideone.com)
374:デフォルトの名無しさん
20/04/28 19:44:24 6K6MgdzD.net
>>293
全加算器
Step 12, Solution 3
0 : -1, -2: 0, 0, 0, 0, 1, 1, 1, 1 : 4
1 : -1, -2: 0, 0, 1, 1, 0, 0, 1, 1 : 4
2 : -1, -2: 0, 1, 0, 1, 0, 1, 0, 1 : 4
3 : 2, 1: 1, 1, 1, 0, 1, 1, 1, 0 : 6
4 : 3, 1: 1, 1, 0, 1, 1, 1, 0, 1 : 6
5 : 3, 2: 1, 0, 1, 1, 1, 0, 1, 1 : 6
6 : 5, 4: 0, 1, 1, 0, 0, 1, 1, 0 : 4
7 : 6, 0: 1, 1, 1, 1, 1, 0, 0, 1 : 6
8 : 7, 0: 1, 1, 1, 1, 0, 1, 1, 0 : 6
9 : 7, 3: 0, 0, 0, 1, 0, 1, 1, 1 : 4 *
10 : 7, 6: 1, 0, 0, 1, 1, 1, 1, 1 : 6
11 : 10, 8: 0, 1, 1, 0, 1, 0, 0, 1 : 4 *
他2
375:デフォルトの名無しさん
20/04/28 21:14:59.05 5Mrr6wN/.net
お題:CapsLock on/offを切り替えながら文字入力
[入力]
A B C S
A : Shiftキーを押さずに1文字入力するのにかかる時間
B : Shiftキーを押しながら1文字入力するのにかかる時間(※)
C : CapsLock on/offの切り替えにかかる時間
S : 入力する文字列(英字のみ)
※CapsLock onで小文字入力、CapsLock offで大文字入力にかかる時間をBとする
[出力]
初期状態をCapsLock offとしたとき、Sを入力するのにかかる時間の最小値を求めよ
(例1)
2 3 4 ABCDE
=> 14
CapsLockを使わない場合、3+3+3+3+3=15
CapsLockを使うと、(4)+2+2+2+2+2=14
(例2)
2 3 4 aBCDe
=> 13
CapsLockを使わない場合、2+3+3+3+2=13
2文字目以降CapsLock onの場合、2+(4)+2+2+2+3=15
376:デフォルトの名無しさん
20/04/29 01:24:53.33 W2Vd/2U1.net
>>364
そんな長いコードよく1日でかけたな
377:デフォルトの名無しさん
20/04/29 02:08:45.13 hFx8dHat.net
つられて開いたら、そんなに長くなかった
378:デフォルトの名無しさん
20/04/29 02:11:21 hFx8dHat.net
モレも若い頃、力ずくの実装
379:でこう言ふコード書いていた時期があった希ガス 遠い目
380:デフォルトの名無しさん
20/04/29 02:17:11 7u9sxpAB.net
プログラマってプライド高いからすぐに張り合うよねw
381:デフォルトの名無しさん
20/04/29 02:21:44 MMtCgKFX.net
誰も張り合っていないが
382:デフォルトの名無しさん
20/04/29 02:22:31 IXK0ODva.net
子どもみたい
383:デフォルトの名無しさん
20/04/29 02:25:50 HpBd3h/I.net
大人とは何か
384:デフォルトの名無しさん
20/04/29 02:27:25.42 IXK0ODva.net
冗談だから間に受けなくていいよ。
385:デフォルトの名無しさん
20/04/29 02:28:27.81 HpBd3h/I.net
大人とは酒、タバコ、Unix
386:デフォルトの名無しさん
20/04/29 02:29:29.28 C2sNF63S.net
>>374
うざいからよそでやれ
387:デフォルトの名無しさん
20/04/29 02:29:46.63 sgNXZLgj.net
うん。で?
388:デフォルトの名無しさん
20/04/29 02:30:51.12 gC4oizq8.net
>>375
うざいからよそでやれ
389:デフォルトの名無しさん
20/04/29 02:33:29.03 YwwSpjL1.net
餌をあげないでください。
390:デフォルトの名無しさん
20/04/29 02:33:56.37 b7RiChMO.net
>>379
うざいからよそでやれ
391:デフォルトの名無しさん
20/04/29 02:35:59.66 nrbD9/Mw.net
>>380
あなたにとってうざいことは、みな歓迎しています
392:デフォルトの名無しさん
20/04/29 02:36:09.16 CXgZ7sKW.net
>>369
そうなんだおじさん「そうなんだ」
393:デフォルトの名無しさん
20/04/29 02:37:10.95 hZe4L1sV.net
いやいや全然違います
394:デフォルトの名無しさん
20/04/29 02:38:46.06 pkOZSJYa.net
いいえ全然違いません
395:デフォルトの名無しさん
20/04/29 02:39:10.87 OQU5gELq.net
くだらねぇーw
396:デフォルトの名無しさん
20/04/29 02:40:49.50 tOnjZeuD.net
くだらないことは何度も
397:デフォルトの名無しさん
20/04/29 02:41:29.87 OQU5gELq.net
うん。で?
398:デフォルトの名無しさん
20/04/29 02:41:55.06 i/nVZZDh.net
うざいからよそでやれ
399:デフォルトの名無しさん
20/04/29 02:43:06.43 OQU5gELq.net
│ _、_
│ ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ。
│ へノ /
└→ ω ノ
>
400:デフォルトの名無しさん
20/04/29 02:43:16.68 JIRRi7ju.net
おじさんはここがいいです。
401:デフォルトの名無しさん
20/04/29 02:44:14.14 Fecc9l/8.net
くだらねーw
402:デフォルトの名無しさん
20/04/29 02:44:35.49 OQU5gELq.net
逝ってよし
403:デフォルトの名無しさん
20/04/29 02:45:11.17 73PkxB6e.net
おじさんはよそに行きましょうね
404:デフォルトの名無しさん
20/04/29 02:45:55 OQU5gELq.net
↓少し下でID変えて書くはず
逝ってよし
405:デフォルトの名無しさん
20/04/29 02:46:12 mcZoq7mu.net
くだらねーw
406:デフォルトの名無しさん
20/04/29 02:47:10 XlBNFPbk.net
逝ってよし
407:デフォルトの名無しさん
20/04/29 02:47:46 OQU5gELq.net
ktkr
408:デフォルトの名無しさん
20/04/29 02:48:03 QCxNpmbM.net
くだらねーw
409:デフォルトの名無しさん
20/04/29 02:49:03 P4G9hJZv.net
律儀だなお前
410:デフォルトの名無しさん
20/04/29 02:50:36 WGhV7jsx.net
おじいちゃんの唐突な自分語りワロタ
411:デフォルトの名無しさん
20/04/29 02:50:44 189Zc0ZE.net
>>398 ご褒美あげるよ
URLリンク(www.google.co.jp)
412:デフォルトの名無しさん
20/04/29 02:53:16.11 189Zc0ZE.net
>>400
お前も、ご褒美、欲しい?
413:デフォルトの名無しさん
20/04/29 02:54:44 189Zc0ZE.net
やっぱ、お前には、あーげない。
414:デフォルトの名無しさん
20/04/29 02:57:53 189Zc0ZE.net
なぜこの程度で、黙る?
415:デフォルトの名無しさん
20/04/29 02:59:48.25 189Zc0ZE.net
かわいそうなことをしてしまったかな…
416:デフォルトの名無しさん
20/04/29 03:13:10 VGrmX9xw.net
ご褒美にどうせ貼るならこっちだろ
URLリンク(www.google.co.jp)
417:デフォルトの名無しさん
20/04/29 03:14:48 VGrmX9xw.net
いやいやこっち
URLリンク(www.google.co.jp)
418:289
20/04/29 07:47:59 h4pVS5Or.net
>>286 Ruby
URLリンク(ideone.com)
主な処理をテーブルで済ませて高速化
ideone の時間制限内に完走できた
419:デフォルトの名無しさん
20/04/29 09:28:47
420:.04 ID:7z7Xd+nS.net
421:デフォルトの名無しさん
20/04/29 09:42:47.46 v+B1NZPE.net
>>308
2番目の例impossibleじゃなくて S -> 3 -> Gじゃないの?って思ったら入力1行目はH Wだった
422:デフォルトの名無しさん
20/04/29 16:10:16.80 HpBd3h/I.net
>>271
Java
URLリンク(paiza.io)
423:デフォルトの名無しさん
20/04/29 21:05:32 HpBd3h/I.net
>>234
Java
URLリンク(paiza.io)
424:デフォルトの名無しさん
20/04/30 06:48:30 2MGLj+B4.net
>>293
4入力セレクタ
digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_6 ; aa_1_1, aa_1_1 -> aa_1_7 ; aa_1_3, aa_1_1 -> aa_1_8 ;
aa_1_5, aa_1_1 -> aa_1_9 ; aa_1_7, aa_1_2 -> aa_1_10 ; aa_1_7, aa_1_4 -> aa_1_11 ;
aa_1_10, aa_1_8 -> aa_1_12 ; aa_1_11, aa_1_9 -> aa_1_13 ; aa_1_12, aa_1_6 -> aa_1_14 ;
aa_1_13, aa_1_0 -> aa_1_15 ; aa_1_15, aa_1_14 -> aa_1_16 ;
}
}
425:289
20/04/30 07:15:11 SPWNNB7s.net
>>286 Ruby
URLリンク(ideone.com)
2pass化 25%ほど高速化
426:デフォルトの名無しさん
20/05/01 05:08:54.81 GhPTuZah.net
>>286
EXNORはちょっとおもしろい。
Step 7, Solution 1
0 : -1, -2: 0, 0, 1, 1 : 2
1 : -1, -2: 0, 1, 0, 1 : 2
2 : 0, 0: 1, 1, 0, 0 : 2
3 : 1, 0: 1, 1, 1, 0 : 3
4 : 1, 1: 1, 0, 1, 0 : 2
5 : 4, 2: 0, 1, 1, 1 : 3
6 : 5, 3: 1, 0, 0, 1 : 2 *
427:デフォルトの名無しさん
20/05/01 05:42:45 VWVnAecH.net
お題: 関数とパイプを実装せよ
以下のような文字列をパースし、パイプに繋げながら関数を実行せよ
標準入力と標準出力の代わりにバッファを使って実装すること
in < "hello"
out > hello
in < "hello | world"
out > helloworld
in < "world | hello"
out > worldhello
in < "hello | upper"
out > HELLO
in < "hello | world | upper"
out > HELLOWORLD
428:デフォルトの名無しさん
20/05/01 06:02:49 +MJaN8j/.net
>>416
hello | upperはhelloupperだろ
429:289
20/05/01 07:03:56 bMo1YMx1.net
>>286 Ruby
URLリンク(ideone.com)
一度に 4bit計算 40%ほど高速化
430:デフォルトの名無しさん
20/05/01 07:11:29.45 VWVnAecH.net
>>417
upperはバッファを大文字にする関数
431:デフォルトの名無しさん
20/05/01 07:20:48.70 kd4VrQns.net
いや、存在する関数を全部定義しないと実装なんてできんやん
突っ込まれて思わなかったの?
432:デフォルトの名無しさん
20/05/01 07:55:56.05 VWVnAecH.net
hello, world, upperだけ実装すればいいのでは
433:デフォルトの名無しさん
20/05/01 08:08:25 VWVnAecH.net
みんな真面目だなw
434:デフォルトの名無しさん
20/05/01 08:25:09 VWVnAecH.net
>>416 書き直し
お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ
標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する
関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること
例えば入力されるコマンドラインは
in < hello
in < hello | world
435: in < hello | world | upper in < world | hello in < world | hello | upper のようになる hello関数はバッファに文字列「hello」を追加し、world関数はバッファに文字列「wolrd」を追加し、upperはバッファ内の文字列を大文字にする関数である よって最終的なコマンドラインの出力は in < hello out > hello in < hello | world out > helloworld in < hello | world | upper out > HELLOWORLD in < world | upper | hello out > WORLDhello のようになる
436:デフォルトの名無しさん
20/05/01 08:29:55 R0k5e7Mk.net
hello world それぞれを改行無しの printf などで出力し
upper は大きくするだけか
437:デフォルトの名無しさん
20/05/01 08:34:39 VWVnAecH.net
>>424
バッファを使わずに標準入出力だけで実装できるならそれでもいいです
438:デフォルトの名無しさん
20/05/01 11:04:14 MCEzZFz/.net
Ruby には、まさに文字列(バッファ)に、IO インタフェースを実装したクラス、StringIO がある!
439:デフォルトの名無しさん
20/05/01 11:29:05 TOWtsDG5.net
>>423 Ruby
$><<$_.split(' | ').reduce(''){|s,e|[s.upcase,s+e][e.ord%-3]}while gets
-*- input -*-
hello
hello | world
hello | world | upper
world | hello
world | hello | upper
-*- output -*-
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO
440:デフォルトの名無しさん
20/05/02 23:08:15 MMgV24Hu.net
>>423
Java
URLリンク(paiza.io)
441:デフォルトの名無しさん
20/05/03 01:19:30.67 SFv1ny6W.net
>>423 Perl5, 要求仕様通り素直に三つの関数を定義し、文字列をparseした単語の関数名を呼び出す形で実装
sub hello { $o .= 'hello' }
sub world { $o .= 'world' }
sub upper { $o = uc $o }
for (<DATA>) {
$o = '';
&$_ for /(\w+)/g;
print "$o\n";
}
__DATA__
hello
hello | world
hello | world | upper
world | hello
world | hello | upper
world | upper | hello
実行結果
~ $ perl 17_423_hello_world_upperl.pl
hello
helloworld
HELLOWORLD
worldhello
WORLDHELLO
WORLDhello
442:289
20/05/03 07:15:48.78 E6IlR6fn.net
>>286 Ruby
URLリンク(ideone.com)
枝刈りを強化 38%ほど高速化
443:デフォルトの名無しさん
20/05/03 09:17:11 n5Gy3ytY.net
>>427
world | upper | hello
444:デフォルトの名無しさん
20/05/03 09:27:35.74 /8opEJBh.net
>>431
ちゃんと"WORLDhello"って出力される
445:デフォルトの名無しさん
20/05/04 00:23:42 k2FsLwVs.net
>>423
Kotlin
URLリンク(paiza.io)
文字列を判定して対応する処理をするだけでも良かったが、Map に文字列と対応する処理をセットしてそれを呼び出して実行させるようにした。
また hello, world, upper 以外が入力されるとエラーが出るようになっている。
446:デフォルトの名無しさん
20/05/04 00:44:53 Jy1F1UMD.net
また変なTwitterの奴か
447:289
20/05/04 07:13:05.12 p+pGQ7l4.net
>>286 C++
URLリンク(ideone.com)
Ruby から移植。実行時間は Rubyより 90倍程度高速化
448:デフォルトの名無しさん
20/05/04 07:38:47 kseU4FEU.net
>>435
端子の出現順を固定しないから無駄に組合せが増えているのではないだろうか。
449:デフォルトの名無しさん
20/05/04 13:46:12 FrWOvyZy.net
お題
H行W列のマス目が与えられる。左上の座標を(0, 0)、右下の座標を(H, W)とする。
座標(0.5, 0)を始点にしてボールを右下45度の方向に発射する。
ボールが始点に戻ってくるまでに壁に衝突する回数を求めよ。
(マス目の範囲外は壁とみなす。ボールの大きさや摩擦などは無視してよい)
[入力]
H W
('.'が地面、'#'が壁)
[例]
1 1
.
=> 4 (軌跡は◇の形)
4 5
..#..
#..#.
.#..#
..#..
=> 18
5 10
..........
#########.
450: .......... .######### .......... => 66
451:デフォルトの名無しさん
20/05/04 15:35:11 oc+BowE6.net
>>437
x = Math.gcd(H, W);
print((H / x + 1) * ( W / x + 1));
452:デフォルトの名無しさん
20/05/04 15:38:07 oc+BowE6.net
ああ、違うな
壁って長方形の辺上にだけあるのかと思って解いてた
453:デフォルトの名無しさん
20/05/04 16:28:39 cRRhYgqa.net
バーカ
454:デフォルトの名無しさん
20/05/04 17:18:49 7s1fJbf+.net
>>437 Perl5、素直に壁で跳ね返る回数をカウント
for (<DATA>) {
($H, $W, @a) = /(\S+)/g;
@s = map{[map{$_ eq '#'} split '']} @a;
my %t;
for $h (0..$H-1) { $t{$h+0.5}{0} = $t{$h+0.5}{$W} = 1;
for $w (0..$W-1) { $t{0}{$w+0.5} = $t{$H}{$w+0.5} = 1;
next unless $s[$h][$w];
$t{$h}{$w+0.5} = $t{$h+0.5}{$w} = $t{$h+0.5}{$w+1} = $t{$h+1}{$w+0.5} = 1;
}
}
($x, $y, $dx, $dy, $n) = (0.5, 0, 0.5, 0.5, 0);
do {
$x += $dx; $y += $dy;
if ($t{$y}{$x}) {
$dx = -$dx if $y =~ /\.5/; $dy = -$dy if $x =~ /\.5/;
$n++;
}
} while $x != 0.5 or $y != 0;
print "$n\n"
}
__DATA__
1 1 .
4 5 ..#.. #..#. .#..# ..#..
5 10 .......... #########. .......... .######### ..........
実行結果
~ $ perl 17_437_bounce.pl
4
18
66
455:デフォルトの名無しさん
20/05/04 17:58:07.94 IDpBo4iue
あなたの会社は「お金を介した」依存?全員副業必須の経営がもたらした脱依存
URLリンク(www.businessinsider.jp)
新潟から週2回東京に出勤、サイボウズの複業採用社員に聞く複業ライフのリアル。
URLリンク(www.businessinsider.jp)
兼業でフリーライター、サイボウズ社員・明石悠佳に学ぶパラレルワーク術
URLリンク(www.wwdjapan.com)
「複業を解禁しなければ人も企業も成長しない」複業全面OKのサイボウズ社長と実践社員の本音対談
URLリンク(www.businessinsider.jp)
育休は最長6年、副業もOK! サイボウズはなぜ「100人100通りの人事制度」を作ったのか
URLリンク(logmi.jp)
年商10億円の“フリーランスの王”に聞く就活論「頭が悪い人ほど大手企業に行く」
URLリンク(headlines.yahoo.co.jp)
副業3600万円のブロガー、マジメに確定申告したら税金がヤバいことに…
URLリンク(headlines.yahoo.co.jp)
456:デフォルトの名無しさん
20/05/04 18:29:48 FrWOvyZy.net
お題
2つの文字列について、文字列を構成する文字が同じで、最初と最後の文字が合っていれば、
その2つの文字列は等価であるとみなす。
文字列がN個与えられる。
上記ルールに従って重複を除去したとき、文字列はいくつ残るか?
(例)
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao
=> 4
457:デフォルトの名無しさん
20/05/04 19:25:38 ku0WQYaW.net
>>443 Perl5、"6"も文字列に含めれば、4
for (<DATA>) {
@a = /(\w)/g;
%h = map{$_ => 1} @a;
$s = $a[0].join('', sort keys %h).$a[-1];
print "$_ -> $s\n";
$g{$s}++;
}
print keys(%g)."\n";
__DATA__
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao
実行結果
~ $ perl 17_442_similstr.pl
666 <- 6
pagimnoprg <- programming
oadioi <- odai
pagimnoprg <- prorgamnimg
oadioi <- oadi
pagimnoprg <- pgorgamming
iadioo <- idao
4
458:デフォルトの名無しさん
20/05/04 19:32:53 Jy1F1UMD.net
暇人か
459:デフォルトの名無しさん
20/05/04 19:38:37 aNaLc8en.net
>>443
(defun cambridge-string= (a b)
(and (char= (elt a 0) (elt b 0))
(char= (elt a (1- (length a))) (elt b (1- (length b))))
(string= (sort (copy-seq a) #'char<) (sort (copy-seq b) #'char<))))
(defvar *set* nil)
(dotimes (n (read))
(pushnew (read-line) *set* :test #'cambridge-string=))
(princ (length *set*))
common lispのsortは破壊的だったのか
460:デフォルトの名無しさん
20/05/04 23:39:20.54 g5q+36pu.net
>>444
Java
URLリンク(paiza.io)
461:デフォルトの名無しさん
20/05/04 23:43:12.22 g5q+36pu.net
>>447
おぎゃー
レス番間違えた
>>443
URLリンク(paiza.io)
462:デフォルトの名無しさん
20/05/04 23:55:30 GlEFtj51.net
>>443 Ruby
p %[6 programming odai prorgamnimg oadi pgorgamming idao].
uniq{|s| b, *m, e = s.chars; [b, e, m.uniq.sort]}.size
# => 4
463:289
20/05/05 07:17:23 JzUmiA6e.net
>>436
端子の順番は固定ですよ
なので print_map2() では省略しています
print_map() で出力すれば >>286 のフォーマットになります
464:デフォルトの名無しさん
20/05/05 09:05:10 ZpeQ6MPR.net
>>443 J
smoutput # ~. <@( /:~ , {. , {:);._2 stdin ''
465:デフォルトの名無しさん
20/05/05 09:59:56 nQMNje/J.net
4入力一致の回路
選別
digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_0, aa_1_0 -> aa_1_4 ; aa_1_1, aa_1_1 -> aa_1_5 ;
aa_1_3, aa_1_2 -> aa_1_6 ; aa_1_4, aa_1_2 -> aa_1_7 ;
aa_1_5, aa_1_3 -> aa_1_8 ; aa_1_5, aa_1_4 -> aa_1_9 ;
aa_1_8, aa_1_7 -> aa_1_10 ; aa_1_9, aa_1_6 -> aa_1_11 ;
aa_1_10, aa_1_10 -> aa_1_12 ; aa_1_12, aa_1_11 -> aa_1_13 ;
aa_1_13, aa_1_13 -> aa_1_14 ;
}
}
466:デフォルトの名無しさん
20/05/05 12:20:16 hsugdvwn.net
>>270
R
URLリンク(ideone.com)