プログラミングのお題スレ Part17
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2020/03/13(金) 01:42:47.06ID:0rEhys36
プログラミングのお題スレです。

【出題と回答例】
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/
0003デフォルトの名無しさん
垢版 |
2020/03/14(土) 15:24:12.98ID:L+5etp1i
お題:
日本式ローマ字の文字列をひらがなに変換してください
入力:tokugawayosimunehaedozidaidaihatidaisyougun
0006蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/03/15(日) 02:13:51.89ID:IdLAz5Ve
お題: なるべく短い文字数のコマンドで自動的にMS-DOSのシステムを完全停止させる。
0009蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/03/15(日) 03:52:16.98ID:IdLAz5Ve
>>6
やっぱりお題を撤回します。古いハードディスクの関係で、システムを強制終了するとドライブが壊れる可能性があるらしいので。つまんないの。
0010蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/03/15(日) 04:20:10.12ID:IdLAz5Ve
お題: 一辺2000メートルの正方形の平面上にランダムに動く物体5個がある。正方形の中心に自機があり、自機を中心にレーダー電波が一定速度で回転しながら常に放射されている。
物体がレーダー電波に当たるとその瞬間にその物体までの距離と方向がわかる仕組みになっている。
各物体が直線等速運動をしていると仮定して随時に各物体の速度を推定し、物体が100メートルより近いときは、それが当たりそうな場所に向かってミサイルを自動的に発射する次のようなアルゴリズムを作れ。
1. 毎分ごとに物体5個の位置(Pxn, Pyn)と推定速度(Vxn, Vyn)を報告すること。
2. 自機は動かない。
3. ミサイルを発射するときは方向(Tn; ラジアン)を報告すること。ミサイルの速さは毎秒5メートルである。
4. ミサイルの個数には制限がない。
5. ミサイルと物体座標が2メートル以内であれば、ミサイル命中と見なす。命中すれば物体は消える。実際に消えたときは消えた位置を報告する。
0011デフォルトの名無しさん
垢版 |
2020/03/15(日) 05:43:09.27ID:fxB2xu91
前スレの6N+1型と6N-1型の素数どちらが多いかという問題
それぞれの素数全てからなる集合をA, B としたとき、A, Bの濃度はどちらも?_0であり等しい。
問題(と出題者の)頭が悪すぎ
0012蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/03/15(日) 08:04:53.86ID:C2+jTQYL
頭悪いと言われるけど、技術的な問題を作れるヤツが少ないから困ってるんだ。
80年代の防衛システムを作れる奴が居ないんだぜ。
ひつじのような学生ばかり作って必要な分野に投資しない。この国はお金を動かす奴等が馬鹿ばかりだ。
0015デフォルトの名無しさん
垢版 |
2020/03/16(月) 16:23:53.04ID:8T/rxY7p
>>11
どちらも有限個でない証明がいるんじゃね?
双子素数の無限存在の十分条件だな(´・ω・`)
0016デフォルトの名無しさん
垢版 |
2020/03/16(月) 16:31:49.21ID:8T/rxY7p
Oops sorry 6nプラマイ型の無限性じゃ双子予想導けなかった(´・ω・`)
0018デフォルトの名無しさん
垢版 |
2020/03/17(火) 12:37:21.90ID:55EeZ8o4
2種類のSSRキャラが各2%、2種類のSRキャラが各2.5%の確率で排出されるガチャがある
これら4種のキャラが全て(各1体以上)出るまでに必要なガチャ回数の期待値は何回か
また、一日3回ガチャした場合に、イベント期間中の2週間(14日)で出る確率はいくらか
0019デフォルトの名無しさん
垢版 |
2020/03/17(火) 13:05:48.12ID:VICFa3qx
無限につづく数列の足し算はできる言語あるの?(wolframとか??)

シグマ(k=4から無限まで) Pk
Pnとは n回で出る時の確率であり
Pn = (0.02*0.025)^2 * (0.91)^(n-4) * (n-1 C 3)
0020デフォルトの名無しさん
垢版 |
2020/03/17(火) 14:41:18.66ID:4Vk7SyLR
>>6
本当にMS-DOSならばいきなり電源切ればいいのでは?
0021蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/03/17(火) 15:11:28.29ID:jDLeGHZW
>>20
Ctrl+Cかexitしないとハードディスクが壊れるというハードウェアがあったらしい。
0022デフォルトの名無しさん
垢版 |
2020/03/17(火) 15:46:16.41ID:4Vk7SyLR
>>21
あー。HDD付いてるのか。
フロッピーディスクのみかと思った。
0024デフォルトの名無しさん
垢版 |
2020/03/18(水) 09:09:56.04ID:I/71Lz9x
(多項式)*(等比数列)の形の級数に限れば多項式をn, n(n+1), n(n+1)(n+2), ... の線形結合で表してΣ[i=0 to Infinity] i(i+1)...(i+n-1)*r^i = n!r/(1-r)^(n-1)を使えば求められる
だから多項式を展開できて連立方程式が解ける言語ならなんでも
0025デフォルトの名無しさん
垢版 |
2020/03/19(木) 09:16:32.19ID:bOFq5rto
>>10
ミサイルの速度遅くね?
敵の速度ってどれくらい?
0026デフォルトの名無しさん
垢版 |
2020/03/19(木) 13:17:22.37ID:WnokI830
お題: ミサイル迎撃システムがある
関数analyzeに敵ミサイルの座標である「緯度」「経度」「高度」が渡されるので敵ミサイルを迎撃せよ
なおこのanalyze関数は敵ミサイルが飛翔している間、座標を更新しながら100ミリ秒ごとに繰り返し呼ばれるものとする
敵ミサイルの高度が0以下になった場合、ミサイルの迎撃に失敗したものとみなす
迎撃ポイントを確定したら関数fireを呼び出し、敵ミサイルを撃墜すること
なお迎撃に使うレーザー砲は敵ミサイルに届くまで1秒かかるものとする
敵ミサイルの軌道は直線的とし、重力や空気抵抗を考慮しないものとする
0027デフォルトの名無しさん
垢版 |
2020/03/19(木) 15:56:22.46ID:GbpHbvNZ
レーザーが届くまでに一秒かかるということは
ミサイルの位置も一秒前のものしかわからないわけだな
0028デフォルトの名無しさん
垢版 |
2020/03/19(木) 16:21:54.04ID:SIWc9klw
高度は地表からの距離だろうか。
地球が完全な球と仮定してよいか。
地球の半径、迎撃レーザーの発射点の座標とかは勝手に決めてよいのか。
ミサイルの起動について地球の自転は考慮不要か。
ミサイルの起動は直線だとして速度が一定と仮定してよいのか。
0029デフォルトの名無しさん
垢版 |
2020/03/19(木) 16:50:52.26ID:bOFq5rto
地球は平面だろ!
0035デフォルトの名無しさん
垢版 |
2020/03/19(木) 20:14:53.84ID:WsP7BoFG
おまえらやる気なさすぎワロタw
0036デフォルトの名無しさん
垢版 |
2020/03/19(木) 20:33:34.50ID:I3A3yd/j
奇形のデブス前にしてチンコ勃てろと言ってるようなもの。
それでEDと罵られても困る。
0037デフォルトの名無しさん
垢版 |
2020/03/20(金) 06:22:44.72ID:Edy1QoAW
>>29
球なのに平らであると
0039デフォルトの名無しさん
垢版 |
2020/03/20(金) 09:12:05.14ID:xr3G6R5C
お題:Gとなるノノグラムデータを作って下さい。
0040デフォルトの名無しさん
垢版 |
2020/03/20(金) 09:29:42.98ID:tkx4ScZk
Gとなる、というのは解がGの文字の字形になるということか?
Gの文字の字形に定義はあるの?
0042デフォルトの名無しさん
垢版 |
2020/03/21(土) 19:49:46.64ID:I6z+mtmQ
お題: RGBを独自定義の色定数に変換せよ
関数convに引数r, g, bが渡される。それぞれの引数は0~255の範囲の値を持つRGBカラーの値である
このRGB値を以下の色定数に変換し、戻り値として返却せよ

111 ... BLACK
112 ... BLUE
121 ... GREEN
122 ... CYAN
211 ... RED
212 ... MAGENTA
221 ... YELLOW
222 ... WHITE

色の正規化の方法など、詳しいことは一任するが、↑の色定数の名前に近似するように調整すること
0043デフォルトの名無しさん
垢版 |
2020/03/21(土) 20:01:40.92ID:I6z+mtmQ
>>42
訂正: MAGENTA -> PURPLE
0048デフォルトの名無しさん
垢版 |
2020/03/22(日) 10:39:01.42ID:q38LxNo0
>>42 Pharo/Squeak Smalltalk

"すでに機能として組み込まれている"
Color r: 0 g: 0 b: 0. "=> Color black "
Color r: 0 g: 0 b: 1. "=> Color blue "
Color r: 0 g: 1 b: 0. "=> Color green "
Color r: 0 g: 1 b: 1. "=> Color cyan "
Color r: 1 g: 0 b: 0. "=> Color red "
Color r: 1 g: 0 b: 1. "=> Color magenta "
Color r: 1 g: 1 b: 0. "=> Color yellow "
Color r: 1 g: 1 b: 1. "=> Color white "

"カラー名と同名のメソッドコールでオブジェクトを得ることもできる"
Color red + Color green + Color blue. "=> Color white "
Color white - Color yellow "=> Color blue "
0052デフォルトの名無しさん
垢版 |
2020/03/27(金) 23:49:15.39ID:7AzyN3tE
お題:安価をレス番リストに変換せよ

例:
"1" -> [1]
"1-3" -> [1,2,3]
"1,3" -> [1,3]
"1,3-5" -> [1,3,4,5]
0053デフォルトの名無しさん
垢版 |
2020/03/28(土) 00:46:37.28ID:xGS8Imsw
>>52 Ruby
def anka(str)
nums=[]
str.split(“,”).each do |s|
x,y=s.split(“-“)
if y
nums+=(x.to_i .. y.to_i).to_a
else
nums<<x.to_i
end
end
return nums
end

anka(“1,3-5”)
#=> [1,3,4,5]
0054デフォルトの名無しさん
垢版 |
2020/03/28(土) 01:05:52.51ID:ngUeRIaE
お題:>>52

例:
>>52に追加で
"1,1" -> [1]
"1-3,2" -> [1,2,3]
"1-4,2-3" -> [1,2,3,4]
"1-4,3-5" -> [1,2,3,4,5]
0055デフォルトの名無しさん
垢版 |
2020/03/28(土) 01:08:29.96ID:ngUeRIaE
やっぱやめた。
よく考えたら>>53のコードに重複削除追加するだけだった
0058デフォルトの名無しさん
垢版 |
2020/03/28(土) 11:14:59.26ID:VFdWLa/U
>>52 Perl5

$"=',';
for $a (<DATA>) {
 $a =~ s/-/.../;
 @s = eval $a;
 print "[@s]\n";
}
__DATA__
1
1-3
1,3
1,3-5


実行結果
~ $ perl 17_53_ancres.pl
[1]
[1,2,3]
[1,3]
[1,3,4,5]
0059デフォルトの名無しさん
垢版 |
2020/03/28(土) 11:21:13.18ID:VFdWLa/U
>>58 Perl5 ちょっと修正

$"=',';
for $a (<DATA>) {
 $a =~ s/-/.../g;
 @s = sort{$a<=>$b} eval $a;
 print "[@s]\n";
}
__DATA__
1
1-3
1,3
1,8-10,3-5

実行
~ $ perl 17_53_ancres.pl
[1]
[1,2,3]
[1,3]
[1,3,4,5,8,9,10]
0061デフォルトの名無しさん
垢版 |
2020/03/28(土) 18:24:03.79ID:ssy5u0i6
お題:レス番リストを安価に変換せよ

例:
[1] -> "1"
[1,2,3] -> "1-3"
[1,3] -> "1,3"
[1,3,4,5] -> "1,3-5"
0063デフォルトの名無しさん
垢版 |
2020/03/28(土) 23:41:39.06ID:X4tW2giy
まーたやらな言い訳かー
やる気ねーなw
0064デフォルトの名無しさん
垢版 |
2020/03/29(日) 10:50:09.52ID:ACisvDeP
>>61 js

let レス番リスト=[1,3,4,5];
let 先頭レス番=レス番リスト[0];
let 安価="";
for(let イ=0;イ<レス番リスト.length-1;イ++){
if(レス番リスト[イ]+1!=レス番リスト[イ+1]){
安価+=レス番リスト[イ]==先頭レス番?先頭レス番+",":先頭レス番+"-"+レス番リスト[イ]+",";
先頭レス番=レス番リスト[イ+1];
}
}
安価+=レス番リスト[レス番リスト.length-1]==先頭レス番?先頭レス番:先頭レス番+"-"+レス番リスト[レス番リスト.length-1];
console.log(安価);

=>1,3-5
0065デフォルトの名無しさん
垢版 |
2020/03/29(日) 14:05:00.00ID:kU1QBoxf
>>61 Perl5 (もう少しスマートな書き方はあるかもしれないが…)

for (qw{[1] [2,3] [1,2,3] [1,3] [1,3,4,5]}) {
 @a = /(\d+)/g;
 %h = map{$_ => $_} @a;
 @b = map{$h{$_}//','} 1..1000;
 $"=','; $b = "@b";
 $b =~ s/^,*(.+?),*$/$1/;
 @c = split /,,+/, $b;
 @d = map{[eval]} @c;
 @e = map{@$_ > 2 ? "$$_[0]-$$_[-1]" : "@$_"} @d;
 print "@e\n";
}


実行結果
~ $ perl 17_61_resanc.pl
1
2,3
1-3
1,3
1,3-5
0066デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:03:50.57ID:5iH4CTSz
なにやってるのか全くわからんw
0067デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:46:57.43ID:CipzEZQ7
@a = /(\d+)/g; … 文字列から数値だけを抽出しリスト変数@aに格納、たとえば文字列が"[1,3,4,5]" の場合@aは(1, 3, 4, 5)

%h = map{$_ => $_} @a; … 変数@aのリスト例えば(1, 3, 4, 5)を入力として値対値ハッシュ {1=>1, 3=>3, 4=>4, 5=>5}を作り変数%hとする

@b = map{$h{$_}//','} 1..1000; … 1〜1000までの数値に対しハッシュ%hを参照し値があればその値、無ければ','文字のリストを生成して変数@bに格納、上記{1=>1, 3=>3, 4=>4, 5=>5}の場合はこんな感じ
#  1 2 3 4 5 6 7 8 9 … 1000
@b: 1 , 3 4 5 , , , , … ,

$"=','; $b = "@b"; … 上記リスト@bを元に要素を区切り文字','で繋いだ文字列を作り変数$bに設定
上記@b: 1 , 3 4 5 , , , … ,
の場合 $b = "1,,,3,4,5,,,,,,,…,,"
2や6以降は無いので,となっている

$b =~ s/^,*(.+?),*$/$1/; … 文字列$bの先頭と末尾に','があれば除去
例 $b = "1,,,3,4,5,,,,,,,…,," ⇒ "1,,,3,4,5"

@c = split /,,+/, $b; … $bを正規表現/,,+/を区切りとして分割したリストを@cに格納
例 $b = "1,,,3,4,5" ⇒ @c = ("1", "3,4,5")

@d = map{[eval]} @c; … リスト@cの文字列をそれぞれevalして数値リストのreferenceの配列を@dに設定
例 @c = ("1", "3,4,5") ⇒ @d = ([1], [3, 4, 5])

@e = map{@$_ > 2 ? "$$_[0]-$$_[-1]" : "@$_"} @d;
@dの夫々の数値リストに対し、要素が1だったらその数値自体を文字列に、2個だったら数値を','で連結した文字列に、
3個以上だったら"最初の数値-最後の数値"という文字列に変換
例 @d = ([1], [3, 4, 5]) ⇒ @e = ("1", "3-5")

print "@e\n";
@e の文字列リストを','で繋いで印字(上の方で区切り文字$"は=','に設定済)
例 @e = ("1", "3-5") ⇒ 1,3-5

@dと@eを作るところがもう少しエレガントにできればよかったけれど
0068デフォルトの名無しさん
垢版 |
2020/03/29(日) 19:07:03.53ID:5iH4CTSz
なるほど、そうやって並んだ部分でグループ化するのか
0069デフォルトの名無しさん
垢版 |
2020/03/30(月) 22:44:25.79ID:xSpiMCgD
>>65 Perl5 少しスマートに書けた(文字列マッチンク処理゙主体になっちまったけれど…)

$"=',';
for (qw{[1] [2,3] [1,2,3] [1,3] [1,3,4,5]}) {
 @a = /(\d+)/g;
 %h = map{$_ => $_} @a;
 @b = map{$h{$_}//' '} 1..20;
 $b = "@b";
 @c = $b =~ /(\d(?:,\d)*)/g;
 s/(,\d+)+,/-/ for @c;
 print "@c\n";
}

実行
~ $ perl 17_61_resanc_0330.pl
1
2,3
1-3
1,3
1,3-5
0072デフォルトの名無しさん
垢版 |
2020/04/03(金) 19:14:26.56ID:tv+k2Xei
お題

文字列の先頭から続く、0 は、8進数と解釈されるため、バグります!
なので、それらを除去して、10進数と解釈できる文字列にして下さい。
以下は、すべて文字列です

090 → 90
0080 → 80

123 → 123

0 → 0
000 → 0

"" → ""
007472
垢版 |
2020/04/03(金) 20:02:16.50ID:tv+k2Xei
向こうのスレから移動したので、このスレで続けて下さい!
0075デフォルトの名無しさん
垢版 |
2020/04/03(金) 20:06:07.16ID:etO49JcP
粘着者湧いてるじゃん
0076デフォルトの名無しさん
垢版 |
2020/04/03(金) 20:13:05.27ID:D8CnMwXH
>>72
js

result=input==""?"":Number(input)
0078デフォルトの名無しさん
垢版 |
2020/04/03(金) 20:17:36.06ID:D8CnMwXH
すまん、よく読んでなかったわ
0079デフォルトの名無しさん
垢版 |
2020/04/04(土) 00:40:59.23ID:oi+wB/l2
>>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
123 → 123
0 → 0
000 → 0
0080デフォルトの名無しさん
垢版 |
2020/04/04(土) 00:43:04.52ID:7bsK3hPl
>>79 いや、([\d])は(\d)で十分だた…

for $a (qw{090 0080 123 0 000}) {
 ($b = $a) =~ s/^0*(\d)/$1/;
 print "$a → $b\n"
}
0082デフォルトの名無しさん
垢版 |
2020/04/04(土) 01:49:49.76ID:jL2VaRwC
>>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
008372
垢版 |
2020/04/04(土) 12:46:11.12ID:1ehA2Rbs
>>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", "" ]
0084デフォルトの名無しさん
垢版 |
2020/04/04(土) 13:37:45.44ID:tmNSQTrZ
>>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]
0087デフォルトの名無しさん
垢版 |
2020/04/04(土) 23:52:04.74ID:sokSr0we
>>85
""が0になりませんか
0089デフォルトの名無しさん
垢版 |
2020/04/05(日) 05:36:36.03ID:sZO7YFrq
>>72
Perl5

ある意味手抜きなプログラムである。

https://paiza.io/projects/rlLxhWyuXx9FG7oVB7Kutw

オマケ機能としてマイナスの時に -00009 みたいなやつも -9 になるようにした。
更に、整数の数でない場合(文字列の場合)はダブルクォーテーションで括って出すようにした。
0094デフォルトの名無しさん
垢版 |
2020/04/05(日) 12:55:09.83ID:SfC0ZJYK
粘着君の意に反して回答わっさわっさ来ててワロタ
0096デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:01:09.81ID:SfC0ZJYK
えw それ言ってるのが粘着君じゃないの?w
どの辺がスレチなのか知らんけど君の意見なんか誰も同調しないかのように回答わさわさなのを見てどんな気持ち???w
0099デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:07:50.11ID:SfC0ZJYK
わざわざ他スレから出張してまで粘着するも自分の思い通りにならず涙目敗北草不可避w
0101デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:10:52.18ID:SfC0ZJYK
そのように言っている自分自身の策略書き込みがスルーされているという悲劇ww
0103デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:15:17.06ID:SfC0ZJYK
ブツブツと負け惜しみを垂れ流しているその姿はまさに哀愁満点 w
0106デフォルトの名無しさん
垢版 |
2020/04/08(水) 07:58:45.75ID:5CDGaVzP
お題: レスの被アンカー数をレスごとにカウントし、降順に整列して出力せよ
入力は1レス1行で入力され、1行のフォーマットは「レス番:レス内容」でコロンで区切ってある
レスの入力がすべて終わった段階でレスごとに被アンカー数を計算し、「レス番:カウント数」のフォーマットで出力せよ

入力と出力例: https://ideone.com/XOytlP
0107デフォルトの名無しさん
垢版 |
2020/04/08(水) 16:25:56.70ID:gvYQZ6Pp
こんな感じで作ったな
select_word_and_anchor.pl
https://ideone.com/bpypjv

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"
0110デフォルトの名無しさん
垢版 |
2020/04/09(木) 00:05:07.49ID:VEjEdiDF
>>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;

実行結果
https://ideone.com/r4tBGc
0112デフォルトの名無しさん
垢版 |
2020/04/09(木) 12:42:58.73ID:5swiwcjH
0113デフォルトの名無しさん
垢版 |
2020/04/09(木) 15:48:38.65ID:pqMoXxyo
荒らしは必ず、2回書き込む。
「そうだよね」とか、同意するレスを付けて、人数が多いように見せる

くだすれPython(超初心者用) その47【Ruby禁止】

Ruby禁止とか、色々なスレのタイトルを勝手に変える

工学部というコテハンだろ。
ソースコードを書かないし、プログラマーじゃないから相手をしないように!
0114デフォルトの名無しさん
垢版 |
2020/04/09(木) 16:48:05.84ID:G208HopB
>>113
そのスレは別のスレであり話題としてスレ違い。
そもそもそれらのスレでRuby禁止と付けられる原因を作っているお前が言うな。
お前こそコテハンをつけるか書き込みをやめるかしろよ。
0116デフォルトの名無しさん
垢版 |
2020/04/10(金) 15:52:58.48ID:FxL3k9Tv
>>110
コード短いね
0118デフォルトの名無しさん
垢版 |
2020/04/10(金) 17:33:36.23ID:gIxx/WN6
気にすんな
0119デフォルトの名無しさん
垢版 |
2020/04/10(金) 17:34:13.60ID:GWaBtrPd
age禁止ってまだやってんの?
0121デフォルトの名無しさん
垢版 |
2020/04/10(金) 20:50:54.41ID:gIxx/WN6
このスレは放っておくとすぐ過疎っちゃうんだからむしろもっともっと激しくテッテ的にage続けるべきだ。
0122デフォルトの名無しさん
垢版 |
2020/04/11(土) 00:56:36.59ID:qHx8Q1G9
>>110
for (´・ω・`) {
}
0129デフォルトの名無しさん
垢版 |
2020/04/14(火) 01:44:11.08ID:cZOfM+S5
if(m[n]==null) m[n]=1
の部分と三項演算子の部分の後分は機能が被ってませんか?
0130デフォルトの名無しさん
垢版 |
2020/04/14(火) 12:04:01.20ID:ZuF0W/s6
>>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'
0131蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/04/14(火) 12:53:55.02ID:QRiFiZHs
お題: 整数の閉区間がいくつか与えられる。
それらの和集合を求め、それをいくつかの閉区間で出力せよ。
出力の閉区間の個数はなるべく少なくすること。

(例)
[1, 5], [2, 6], [-1, 10] ==> [-1, 10].
[2, 3], [3, 4], [7, 10] ==> [2, 4], [7, 10].
0132デフォルトの名無しさん
垢版 |
2020/04/14(火) 14:56:59.99ID:vknfd45S
>>129
三項演算子ではない(Kotlinには三項演算子はない)。?: はエルビス演算子で、左側の式が null だったら右側の値を使うというやつ。nullでなければそのまま左側の値を使う。

で、その部分は先頭のレス番号のキーがまだ作られてなかったら0で初期化する部分だ。

m[n] = m[n] ?: 0

とも書けるが、これは何か無駄な感じがする。nullでなければ同じ値の代入になるので。だからifで必要な時だけの代入(初期化)にした。
0133デフォルトの名無しさん
垢版 |
2020/04/14(火) 15:14:57.47ID:U0kTSrBw
>>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]
0134デフォルトの名無しさん
垢版 |
2020/04/14(火) 15:35:48.84ID:cZOfM+S5
>>132
なるほど。ありがとうございます。
0135デフォルトの名無しさん
垢版 |
2020/04/14(火) 17:17:14.65ID:h96nPay3
数式を標準入力から与えられる。
計算結果を出力しなさい。

条件
・数式の長さが1000を超える場合や、不正な数式についてはErrorと出力すること
・整数を出力しなさい
・小数点が出る場合は切り捨てた値を出力すること
・eval禁止
・数式に利用できる文字 0123456789+-*/()
・数式に半角スペースは含まれない
0142デフォルトの名無しさん
垢版 |
2020/04/14(火) 20:13:52.06ID:AV9/Nsy0
>>139
言語:日本語
実行:日本人

CD/DVDドライブのトレイを開きなさい。
0143◆QZaw55cn4c
垢版 |
2020/04/14(火) 20:35:51.72ID:42R+WK0w
>>142
言語:日本語
実行:日本語を理解する人

の方が正確ですね
0145デフォルトの名無しさん
垢版 |
2020/04/15(水) 01:04:36.72ID:RHvlA1sV
三項演算子ないとかゴミだな
0146デフォルトの名無しさん
垢版 |
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);
0148デフォルトの名無しさん
垢版 |
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
0149デフォルトの名無しさん
垢版 |
2020/04/15(水) 15:04:17.94ID:IXOt/09v
>>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
0150蟻人間 ◆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)の組を出力せよ。
0152蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/04/15(水) 22:30:18.26ID:mz+a7+dL
お題: 次のようなプログラムを作れ。プログラムを起動したとき、ファイル「times.txt」に現在の日時を秒単位で記録した後、
前回の起動日時との差を求め、時間差の秒数を表示せよ。
ただし、うるう秒を考慮すること。
0153デフォルトの名無しさん
垢版 |
2020/04/15(水) 23:31:28.64ID:/1JmN5U2
>>150
慣性が働いて抵抗が無いなら収束などしない
永遠に振動し続ける

初速度も書いて無いし
離れすぎ、近づきすぎの条件も書いてない
0156デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:19:43.21ID:6omvFBXS
>>153
アスペルガー症候群は黙ってた方がいい
0157デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:25:27.80ID:Yc0fbgtG
初速度や離れすぎ、近づきすぎの条件が書いてないのは事実で回答しようも無いんだし
そういうのはやめたらどうかと思うんだが
0158デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:27:18.30ID:iTxUXfYH
そういう柔軟性のなさがアスペルガー症候群くさいんだよなぁ…
まあ本当は出題の意図は分かってて敢えてイチャモン付けてるんだろうけど
0160デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:37:52.71ID:iTxUXfYH
俺なら初期位置も計算の打ち止め条件も完全に無視してポテンシャルの極小値を求めるプログラムを書いて提示するかな
出題者が期待してるのはそういうものだろうし些細な出題の問題点をいちいち指摘してボツにさせる気なんか起きないな
0162デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:43:39.05ID:iTxUXfYH
じゃあ俺はアスペルガー症候群では?って言っただけの話
0163デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:47:00.10ID:s4YIDkZq
>>161
自分では回答も提示せず人様をアスペ呼ばわりして
でも周りはアスペではなかったどうするの
0165デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:50:45.97ID:XsJA9brB
せっかく考えて出題してくれてるのに頭ごなしにボツにされようとしてるのを見て許せなかったんだよ
0167デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:54:43.63ID:0k+XXy1f
君、ネット向いてないよ
0169デフォルトの名無しさん
垢版 |
2020/04/16(木) 01:58:36.86ID:XeDXz4LY
まるでシラフならスルースキル高いかのような言い草で寒っ
0170デフォルトの名無しさん
垢版 |
2020/04/16(木) 02:00:46.80ID:s4YIDkZq
今日はちょっと虫の居所が悪くてな、すまんな。
ちな上の方のレスのうち、どれが俺の回答か分かるかな
0171デフォルトの名無しさん
垢版 |
2020/04/16(木) 02:05:16.91ID:oMF0NE5s
急に語り出して劇寒
0174デフォルトの名無しさん
垢版 |
2020/04/16(木) 02:21:19.79ID:kjXrQDZb
今までも同じようにあまりよろしくないお題を出してそのたびにスルーか同じように指摘され続けてるんだからこんなもんでは?
個人的には全く解いてみたいと思えないお題ばかり
お題作るのは難しいなぁとつくづく感じる
0175デフォルトの名無しさん
垢版 |
2020/04/16(木) 02:24:22.48ID:7PlP0fH8
ここはすききらいをしゃべるすれではありません
0177デフォルトの名無しさん
垢版 |
2020/04/16(木) 02:25:43.69ID:s4YIDkZq
そりゃ気持ちはわかっけどさー
解いてみたいと思えないお題ばかり、ってことはさすがに無い。
お題によって回答したい、したくないはあるぞ、
時間が許せば、それには回答してきた
0183デフォルトの名無しさん
垢版 |
2020/04/16(木) 18:34:42.45ID:Ao1pcPxo
眠くなってきた
0185デフォルトの名無しさん
垢版 |
2020/04/16(木) 19:18:52.09ID:D2Oboa0/
>>182
しゅごい・・・
0186デフォルトの名無しさん
垢版 |
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
0188デフォルトの名無しさん
垢版 |
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
0190デフォルトの名無しさん
垢版 |
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
0195デフォルトの名無しさん
垢版 |
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
0196デフォルトの名無しさん
垢版 |
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
0197デフォルトの名無しさん
垢版 |
2020/04/17(金) 17:12:31.49ID:tQG0pn8t
>>196
内角の和が180°かで判定すると二番目のデータのような
星のひしゃげたような形も星型扱いされてしまう
交線計算が要るんじゃないかな
0202デフォルトの名無しさん
垢版 |
2020/04/18(土) 06:43:51.86ID:YnXQesFn
「五角形P0-P1-P2-P3-P4が星形である」と「五角形P0-P2-P4-P1-P3が凸五角形である」は同値でいいのかな
0204デフォルトの名無しさん
垢版 |
2020/04/18(土) 14:12:42.90ID:IwpZ9OtG
atan2とか要りそう
知らんけど
0207デフォルトの名無しさん
垢版 |
2020/04/18(土) 16:34:26.54ID:N4WXNODD
>>206
3番目のデータに関して
「五角形P0-P1-P2-P3-P4が星形である」 => false
「五角形P0-P2-P4-P1-P3が凸五角形である」 => false

反例にはなっていないはずだが?
0208デフォルトの名無しさん
垢版 |
2020/04/18(土) 16:47:06.00ID:30AxPVCB
「五角形P0-P1-P2-P3-P4が凸五角形である」 => true
「五角形P0-P2-P4-P1-P3が星形である」 => true

多分言いたいのはこっちでしょ
いずれにしろ反例になってないけど
0214デフォルトの名無しさん
垢版 |
2020/04/18(土) 18:04:17.09ID:U3Va20gw
いつものキチガイでしょ。
0216デフォルトの名無しさん
垢版 |
2020/04/18(土) 22:46:42.32ID:N4WXNODD
>>215
「五角形P0-P1-P2-P3-P4が星形である」 => true
「五角形P0-P2-P4-P1-P3が凸五角形である」 => true

だから反例じゃねえだろ
つーか凸角形の定義と対角線の定義から同値性は自明だろ
何が分からないのかが素でわからん
というか日本語通じてんのかこれ
0217デフォルトの名無しさん
垢版 |
2020/04/18(土) 22:48:13.84ID:n1sMw7/h
またキチガイが暴れてるのか…
0220デフォルトの名無しさん
垢版 |
2020/04/18(土) 22:52:15.69ID:n1sMw7/h
ID真っ赤やん
0224デフォルトの名無しさん
垢版 |
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

なーにかが間違ってるのか…
0225デフォルトの名無しさん
垢版 |
2020/04/18(土) 23:19:38.75ID:3QrrEgXO
五角形の内角の和は540度だぞw
0226デフォルトの名無しさん
垢版 |
2020/04/18(土) 23:23:05.51ID:N4WXNODD
内角じゃなくてどれだけ曲がったかの和を計算してるんだから2PIで良いだろ
数値があってんのかは知らんが
0227デフォルトの名無しさん
垢版 |
2020/04/18(土) 23:50:57.37ID:tXl890QR
ニチャァ…
0230デフォルトの名無しさん
垢版 |
2020/04/19(日) 00:25:50.90ID:suK8nNv5
>>229
検算とヒントありがと、2.00055860589158 - (-1.14103404769821) = 3.14159265358979
プログラの間違い直せたら書き込むわ
0232デフォルトの名無しさん
垢版 |
2020/04/19(日) 00:35:52.14ID:suK8nNv5
>>231
1)内積⇒arccos
2)外積⇒arcsin
凸判定には角度0や符号反転も要検出なので
2)でやってるがどっかに間違い入っちゃったかもしれなす
0233デフォルトの名無しさん
垢版 |
2020/04/19(日) 00:56:56.21ID:tNtEbJNg
自演と思わないと精神保てないの草
0234デフォルトの名無しさん
垢版 |
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
0235デフォルトの名無しさん
垢版 |
2020/04/19(日) 06:41:17.34ID:J81tNU7x
>>234
問題がよくわからない。
0236デフォルトの名無しさん
垢版 |
2020/04/19(日) 07:17:30.86ID:kCjisW+o
説明が下手ですみません。

縮尺バーはGoogleマップの右下にあるようなバーで、画面上のバーの長さが現実では何キロメートルかを示しています。
その現実で何キロメートルかというのがバーの左に表示されています。
バーの長さはズームインしていくと連続的に伸びていき、伸びるすぎるガクッと縮んで、また連続的に伸びていきます。

そしてそのバーの左に表示される距離は2kmや50km、100kmなどの数値のみで中途半端な値は取りません。
この条件下で、縮尺とバーの長さの最小値を定めたときに、どんな長さでバーを画面に表示するかを求める問題です。
バーの長さは取りうるものの中で最小のものでお願いします。
0240デフォルトの名無しさん
垢版 |
2020/04/19(日) 12:05:15.55ID:bDqlqATM
単発IDワラワラ
0244デフォルトの名無しさん
垢版 |
2020/04/19(日) 14:11:18.59ID:J81tNU7x
>>236
現実:画面 = 1:s
という式の意味は?
0245デフォルトの名無しさん
垢版 |
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";
}
0246デフォルトの名無しさん
垢版 |
2020/04/19(日) 15:35:04.69ID:dE29U5t1
>>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
0249デフォルトの名無しさん
垢版 |
2020/04/19(日) 16:14:07.05ID:o4nQ3+S9
>>244
具体的には、地球上で1mの長さの直線の道路があった時、それを画面の地図上で 1m × s の長さで表示するということです。
s=0.01ならその道路は画面に1cmで表示されます。
0250デフォルトの名無しさん
垢版 |
2020/04/19(日) 18:05:16.51ID:3h7RKaJW
>>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
0251デフォルトの名無しさん
垢版 |
2020/04/19(日) 20:22:34.05ID:3rSuzVma
>>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";
}
0252デフォルトの名無しさん
垢版 |
2020/04/20(月) 06:02:04.44ID:C+lKY/AM
>>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) ] }
0253デフォルトの名無しさん
垢版 |
2020/04/20(月) 16:12:46.13ID:EsvxpnHB
>>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($stick, $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();
0254デフォルトの名無しさん
垢版 |
2020/04/20(月) 17:09:22.78ID:CQO/p7b7
最下点付近での近似だな
0255デフォルトの名無しさん
垢版 |
2020/04/20(月) 17:15:47.88ID:CQO/p7b7
いや普通のだったわ、すまん
0256デフォルトの名無しさん
垢版 |
2020/04/20(月) 18:33:21.43ID:SXRlK0qI
>>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()
0257デフォルトの名無しさん
垢版 |
2020/04/20(月) 19:55:58.67ID:qCtnBvYT
そろそろオレ二重振り子見たくなってきちゃったなァ
0261デフォルトの名無しさん
垢版 |
2020/04/20(月) 22:36:14.60ID:arq8EuUU
考えたわけじゃなくね?
0265デフォルトの名無しさん
垢版 |
2020/04/21(火) 19:01:08.06ID:Nu/0ktL2
>>258
数値計算にカオスとか関係なくね?
0267デフォルトの名無しさん
垢版 |
2020/04/23(木) 05:19:07.09ID:GeQlI54q
>>265
ウルトラマンカオス。
0268デフォルトの名無しさん
垢版 |
2020/04/23(木) 22:15:50.71ID:CuZLC5Yi
>>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 (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*)))
0270デフォルトの名無しさん
垢版 |
2020/04/23(木) 23:53:39.74ID:lusTU/GG
お題: 配列と列数が与えられるので配列を行列に再構築して返せ
例:
in < [1, 2, 3, 4], 2
out > [[1, 2], [3, 4]]
0271デフォルトの名無しさん
垢版 |
2020/04/24(金) 00:06:04.10ID:B1fvRJ4E
>>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]]
0274デフォルトの名無しさん
垢版 |
2020/04/24(金) 02:15:23.92ID:XDANT2WI
>>270 matlab

reshape([1,2,3,4],[],2)
0276デフォルトの名無しさん
垢版 |
2020/04/24(金) 06:56:30.60ID:oaHyD4Kv
>>270 J
f =: 4 : 0
(-x) , \ y
)

  2 f 1 2 3 4
1 2
3 4
0277デフォルトの名無しさん
垢版 |
2020/04/24(金) 13:12:17.03ID:UlmQZP6K
>>275
あんたバカ?
0279デフォルトの名無しさん
垢版 |
2020/04/24(金) 15:04:41.40ID:SqTnlu82
みなのもの戦に備えろ
0280デフォルトの名無しさん
垢版 |
2020/04/24(金) 15:36:47.80ID:fZ+Jqbcm
>>270
Kotlin
https://paiza.io/projects/F6x2m9b-Hs-a2yOZFxLMAw

こういうことをするための chunked() という拡張関数がライブラリに最初からあるので自分ではほとんど何も考えてない。
0281デフォルトの名無しさん
垢版 |
2020/04/24(金) 16:43:36.97ID:QbKPO/NJ
      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ  <  どうすっかな……      ,,、,、,,,
    /三√ ゚Д゚) /   \_______
     /三/| ゚U゚|\      ,,、,、,,,               
 ,,、,、,,, U (:::::::::::)∪  ,,、,、,,,
      //三/|三|\       ,,,,    ,,、,、,,,
      ∪  ∪
  ,,          ,    ,,,,    ,,、,、,,,       ,,、,、,,,
,,,,,    ∧_∧ うまいモナー,,,,,   、 ,,,,,,   ,,,,,,,,    ,,,,,
 ,,,   ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
  / ̄ ( つ日ヽ   ∧_∧    (    )               /
/    (__))   (´∀` )   (    )    ∧_∧∧_∧ / マターリモナー
 ∧_∧∧_∧ドーゾ (日ノ )  | | |    ( ´∀`) ´∀`)
 ( ´∀`) ´∀`)    ((__)  ,(_(_) (○)⊂   ) つ日⊂ ) モーナー
―(つ⊂  ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
   (⌒)(⌒) (⌒)(⌒)グーグー
0286デフォルトの名無しさん
垢版 |
2020/04/24(金) 20:56:21.49ID:pA5GOauV
お題
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
0287デフォルトの名無しさん
垢版 |
2020/04/24(金) 23:27:45.63ID:giWR9tWL
>>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
0290デフォルトの名無しさん
垢版 |
2020/04/25(土) 09:02:48.23ID:mTthreta
[0,0,0,0] は Array.new(4, 0)
[ nil,nil, nil,nil, nil,nil, nil,nil ] は Array.new(8)
って書いた方が分かりやすいな
あとcase-when はthenを使うのが良し
0293デフォルトの名無しさん
垢版 |
2020/04/27(月) 09:21:19.63ID:Vk+6u7Hb
次は全加算器をやってみよう。
4入力セレクタ辺りで限界でしょう。
0294デフォルトの名無しさん
垢版 |
2020/04/27(月) 18:53:24.75ID:KzmnkBMz0
このスレってアルゴリズムとかデータ構造を解説してくれる人はあまりいなんだな
0295デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:18:51.96ID:XYadQOO0
聞かれなかったから
0296デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:29:48.45ID:9Rl/jVuf
>>294
わからないことあったら聞こうよ
ガキじゃねえんだからさ
0298デフォルトの名無しさん
垢版 |
2020/04/27(月) 19:49:07.31ID:uF9iuztD
アルゴリズムは金になるからここじゃあ書かないよ。
聞きたくなるようなコードをチラ見せするのがプロ。
0301デフォルトの名無しさん
垢版 |
2020/04/27(月) 21:06:36.61ID:KzmnkBMz
知らない言語の長いコードを読むのは難しいからアルゴリズムだけ書いてほしい
そうじゃなかったら何のために披露してるのかわからない
0304デフォルトの名無しさん
垢版 |
2020/04/27(月) 21:26:35.22ID:04Et8o2n
perlとかだと全くわからん
暗号にしか見えん
まあそれが楽しいんだろうけどw
0305デフォルトの名無しさん
垢版 |
2020/04/27(月) 22:44:33.33ID:9Rl/jVuf
アルゴリズムを教えるためのスレじゃないからなw
0306デフォルトの名無しさん
垢版 |
2020/04/27(月) 22:46:29.62ID:Nbm5XyHg
アルゴリズムの自信作を披露するスレだろ?
0308デフォルトの名無しさん
垢版 |
2020/04/27(月) 22:50:44.47ID:pfA6eg61
お題:ワープ付き迷路
始点(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)
0309デフォルトの名無しさん
垢版 |
2020/04/27(月) 22:57:02.43ID:EEEc2NVc
>>301
披露してる側には意味はあるだろう。
お前の方には読めないコードでは意味がないのかもしれないけど、それはお前の都合でしかないだろう。
0310デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:03:37.42ID:4xqUIPcT
まあそうムキになるな
余裕がある人はコメントなりレスなりで解説入れたりすればいいと思うよ
0312デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:44:27.07ID:EEEc2NVc
>>311
とりあえず思い付くままにかいてみると、
アルゴリズムだけだったらとるに足らない問題だったり、逆に難しいけどそれただの数学の問題だよねってのが多いけど、それをプログラミング言語で書くから解く方も面白いし見る側も面白い。
同じ問題でも使う言語によって使える機能や記法が異なるから、様々な回答、解法が出てくる。
大抵の人は複数言語が読めるし詳しくなくてもちょっと考えたり調べれば読めるから、読めない人がいることをケアする必要性は特にない。
Jとか一部の言語のワンライナーとかは読めないことが多いけど、むしろそういう読めないようなコードで実現されていることが面白いし、読めないながらも感心してしまう。
アルゴリズムを疑似言語的に書こうとするとどうしても曖昧さや人によって解釈が異なる問題が出てしまうが、仕様が定義された言語を使えばその問題は回避できる。
0314デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:51:19.00ID:KzmnkBMz0
スマホのほうにはslipコマンドが設定してあるのでIDちょっと違いますが
自分はID:KzmnkBMzです
0315デフォルトの名無しさん
垢版 |
2020/04/27(月) 23:55:26.10ID:EEEc2NVc
>>313
説明つけてくれればそりゃ親切だろうけど、回答する人に初めからそこまで求めるなよ。
疑問があれば質問すればいいだけでしょ?
0317デフォルトの名無しさん
垢版 |
2020/04/28(火) 01:00:38.45ID:0FC2c4TG
こういう流れを見てると、つくづくプログラマーって学生時代に冴えなかった奴等の巣窟なんだって痛感するよね…
0318デフォルトの名無しさん
垢版 |
2020/04/28(火) 01:33:53.12ID:mJox3ckA
自分語りかよ…
人を自分と一緒にしないでくれ

>>313 言っちゃー悪いそのレベルだと、まだまだ山のように勉強が必要だと思う
0321デフォルトの名無しさん
垢版 |
2020/04/28(火) 01:46:12.43ID:ljT+88J3
俺は職業プログラマではないけどプライド高い人は多そうなイメージ
他板でもプログラミングスレは大抵荒れてる
0322デフォルトの名無しさん
垢版 |
2020/04/28(火) 01:48:31.06ID:dQnTZ6B4
勘違いしている底辺が大半
ごく一部が優秀
でもその付加価値に見合った価格が支払われない残念な分野
0326デフォルトの名無しさん
垢版 |
2020/04/28(火) 04:29:18.44ID:ayTn4wb+
>>294のワード効きすぎだろ
何がそんなに刺さったんだ?
実際は1人が騒いでるだけか??
0329デフォルトの名無しさん
垢版 |
2020/04/28(火) 05:02:44.84ID:WLGi8zNs
執念やば
0330デフォルトの名無しさん
垢版 |
2020/04/28(火) 05:04:21.21ID:XMwGDU9f
そしてキモ
0331デフォルトの名無しさん
垢版 |
2020/04/28(火) 05:17:51.27ID:xTCZFQnU
とうしつこはい…
0333デフォルトの名無しさん
垢版 |
2020/04/28(火) 06:47:24.12ID:6K6MgdzD
自然科学 + グラフ理論 + 手書き作業 = アルゴリズム
0334デフォルトの名無しさん
垢版 |
2020/04/28(火) 06:58:04.37ID:cTXOkUEK
単振り子のアルゴリズムなんて運動方程式解くだけだろ
近似すれば高校生でも解ける
0344デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:07:14.65ID:cTXOkUEK
単振り子の微分方程式解くときに他にどんな近似するっていうんだ
真面目に精神障害者だろコイツ
0346デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:10:42.04ID:9sR0wNPf
解析的には解けない
シミュレーションに頼る
シミュレーションの精度を上げるにも技術がいる

一言で簡単とか言うアホは何もわかってない
0349デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:32:33.87ID:9sR0wNPf
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ

簡単だって言うならやってみて
0350デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:37:31.08ID:9sR0wNPf
近似が高校で習う1通りしか無いと思ってる時点でアホだし
そもそも近似でしか解けない

「単振動近似なら高校生でも解ける」
これなら誰も反対しない
0351デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:38:59.20ID:9sR0wNPf
お題
10cmの理想的な単振り子
90度の位置から初速度ゼロで離して
ちょうど10分後の位置を求めよ
0352デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:43:14.50ID:cTXOkUEK
振り子の運動方程式解くときに近似って言われて振幅が小さい場合を想定できないのは障害者のお前くらいだわ
0355デフォルトの名無しさん
垢版 |
2020/04/28(火) 07:57:37.92ID:6K6MgdzD
プログラマの99%はリコメンドしない情報盗人。俺調べ。
0358デフォルトの名無しさん
垢版 |
2020/04/28(火) 13:50:52.20ID:EhAaIQLq
底辺ITドカタは気性が荒いなぁ
0363デフォルトの名無しさん
垢版 |
2020/04/28(火) 19:31:55.80ID:KJ919r2x
数学の話になると毎度現れるアスペ君今日も来てて草
アスペが重度なのか数学コンプが重度なのか
0365デフォルトの名無しさん
垢版 |
2020/04/28(火) 19:44:24.43ID:6K6MgdzD
>>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
0366デフォルトの名無しさん
垢版 |
2020/04/28(火) 21:14:59.05ID:5Mrr6wN/
お題: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
0367デフォルトの名無しさん
垢版 |
2020/04/29(水) 01:24:53.33ID:W2Vd/2U1
>>364
そんな長いコードよく1日でかけたな
0369デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:11:21.30ID:hFx8dHat
モレも若い頃、力ずくの実装でこう言ふコード書いていた時期があった希ガス 遠い目
0370デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:17:11.52ID:7u9sxpAB
プログラマってプライド高いからすぐに張り合うよねw
0372デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:22:31.06ID:IXK0ODva
子どもみたい
0374デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:27:25.42ID:IXK0ODva
冗談だから間に受けなくていいよ。
0382デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:36:09.16ID:CXgZ7sKW
>>369
そうなんだおじさん「そうなんだ」
0389デフォルトの名無しさん
垢版 |
2020/04/29(水) 02:43:06.43ID:OQU5gELq
│    _、_
│  ヽ( ,_ノ`)ノ 残念、それは私のおいなりさんだ。
│ へノ   /
└→ ω ノ
      >
0409デフォルトの名無しさん
垢版 |
2020/04/29(水) 09:28:47.04ID:7z7Xd+nS
>>366 Ruby
# A <= B とする

def f(a, b, c, arr, cl = false)
  return 0 if arr.empty?
  arr = arr.clone
  cap, size = arr.shift
  return a * size + f(a, b, c, arr, cl) if cap == cl
  [c + a * size + f(a, b, c, arr, !cl), b * size + f(a, b, c, arr, cl)].min
end

g = -> str {str.scan(/[A-Z]+|[a-z]+/).map{|s| [s.match?(/[A-Z]/), s.size]}}



[
  '2 3 4 ABCDE',
  '2 3 4 aBCEe',
  '2 3 4 XMLHttpRequestEventTarget'
].each{|s| *e, s = s.split; puts '%s => %d' % [s, f(*e.map(&:to_i), g[s])]}

# =>
ABCDE => 14
aBCEe => 13
XMLHttpRequestEventTarget => 57
0413デフォルトの名無しさん
垢版 |
2020/04/30(木) 06:48:30.61ID:2MGLj+B4
>>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 ;
}
}
0415デフォルトの名無しさん
垢版 |
2020/05/01(金) 05:08:54.81ID:GhPTuZah
>>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 *
0416デフォルトの名無しさん
垢版 |
2020/05/01(金) 05:42:45.32ID:VWVnAecH
お題: 関数とパイプを実装せよ
以下のような文字列をパースし、パイプに繋げながら関数を実行せよ
標準入力と標準出力の代わりにバッファを使って実装すること

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
0420デフォルトの名無しさん
垢版 |
2020/05/01(金) 07:20:48.70ID:kd4VrQns
いや、存在する関数を全部定義しないと実装なんてできんやん
突っ込まれて思わなかったの?
0423デフォルトの名無しさん
垢版 |
2020/05/01(金) 08:25:09.26ID:VWVnAecH
>>416 書き直し

お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ
標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する
関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること
例えば入力されるコマンドラインは

in < hello
in < hello | world
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

のようになる
0426デフォルトの名無しさん
垢版 |
2020/05/01(金) 11:04:14.34ID:MCEzZFz/
Ruby には、まさに文字列(バッファ)に、IO インタフェースを実装したクラス、StringIO がある!
0427デフォルトの名無しさん
垢版 |
2020/05/01(金) 11:29:05.85ID:TOWtsDG5
>>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
0429デフォルトの名無しさん
垢版 |
2020/05/03(日) 01:19:30.67ID:SFv1ny6W
>>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
0433デフォルトの名無しさん
垢版 |
2020/05/04(月) 00:23:42.89ID:k2FsLwVs
>>423
Kotlin
https://paiza.io/projects/Opyd7gwTb5jwgD2LANwPeA

文字列を判定して対応する処理をするだけでも良かったが、Map に文字列と対応する処理をセットしてそれを呼び出して実行させるようにした。
また hello, world, upper 以外が入力されるとエラーが出るようになっている。
0436デフォルトの名無しさん
垢版 |
2020/05/04(月) 07:38:47.50ID:kseU4FEU
>>435
端子の出現順を固定しないから無駄に組合せが増えているのではないだろうか。
0437デフォルトの名無しさん
垢版 |
2020/05/04(月) 13:46:12.35ID:FrWOvyZy
お題
H行W列のマス目が与えられる。左上の座標を(0, 0)、右下の座標を(H, W)とする。
座標(0.5, 0)を始点にしてボールを右下45度の方向に発射する。
ボールが始点に戻ってくるまでに壁に衝突する回数を求めよ。
(マス目の範囲外は壁とみなす。ボールの大きさや摩擦などは無視してよい)

[入力]
H W
('.'が地面、'#'が壁)

[例]
1 1
.
=> 4 (軌跡は◇の形)

4 5
..#..
#..#.
.#..#
..#..
=> 18

5 10
..........
#########.
..........
.#########
..........
=> 66
0441デフォルトの名無しさん
垢版 |
2020/05/04(月) 17:18:49.19ID:7s1fJbf+
>>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
0442デフォルトの名無しさん
垢版 |
2020/05/04(月) 18:29:48.35ID:FrWOvyZy
お題
2つの文字列について、文字列を構成する文字が同じで、最初と最後の文字が合っていれば、
その2つの文字列は等価であるとみなす。

文字列がN個与えられる。
上記ルールに従って重複を除去したとき、文字列はいくつ残るか?

(例)
6
programming
odai
prorgamnimg
oadi
pgorgamming
idao
=> 4
0443デフォルトの名無しさん
垢版 |
2020/05/04(月) 19:25:38.15ID:ku0WQYaW
>>442 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
0445デフォルトの名無しさん
垢版 |
2020/05/04(月) 19:38:37.16ID:aNaLc8en
>>442
(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は破壊的だったのか
0448デフォルトの名無しさん
垢版 |
2020/05/04(月) 23:55:30.91ID:GlEFtj51
>>442 Ruby

p %[6 programming odai prorgamnimg oadi pgorgamming idao].
uniq{|s| b, *m, e = s.chars; [b, e, m.uniq.sort]}.size

# => 4
0449289
垢版 |
2020/05/05(火) 07:17:23.92ID:JzUmiA6e
>>436
端子の順番は固定ですよ
なので print_map2() では省略しています
print_map() で出力すれば >>286 のフォーマットになります
0450デフォルトの名無しさん
垢版 |
2020/05/05(火) 09:05:10.91ID:ZpeQ6MPR
>>442 J

smoutput # ~. <@( /:~ , {. , {:);._2 stdin ''
0451デフォルトの名無しさん
垢版 |
2020/05/05(火) 09:59:56.94ID:nQMNje/J
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 ;
}
}
0455デフォルトの名無しさん
垢版 |
2020/05/05(火) 16:03:15.79ID:YfHt+PT9
sortしてuniqするだけなら3になるはずだと思って眺めたら
その前に加えて、先頭と最後の文字の比較もしてるやん
auto equalsBeginBack = [=](string a, string b){
return *a.begin() == *b.begin() && *&a.back() == *&b.back();
0457デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:19:55.66ID:2pJLNopY
>>270 Dart

import 'dart:io';

void main() {
  final var str = stdin.readLineSync();
  const var reg = RegExp(r'\d+');
  final List<int> args = reg.allMatches(str).map((m)=>int.parse(m.group(0))).toList();
  final column = args.removeLast();
  final result = [];
  for(var i = 0; i <= args.length ~/ column; i += column) {
    result.add(args.sublist(i, i + column));
  }
  print(result);
}

// input
[1, 2, 3, 4], 2

// output
[[1, 2], [3, 4]]
0458デフォルトの名無しさん
垢版 |
2020/05/06(水) 11:28:40.04ID:44vKh6W3
#!/usr/bin/env -S sbcl --script

(format t "~d~%"
    (length (delete-duplicates
         (loop repeat (read) collect (read-line))
         :test (lambda (a b)
             (and (string= (sort a #'char<) (sort b #'char<))
                (char= (char a 0) (char b 0))
                (char= (char a (1- (length a))) (char b (1- (length b)))))))))
>>445
Common Lisp HyperSpecではSide Effects: None.となっているけれど。
0460デフォルトの名無しさん
垢版 |
2020/05/07(木) 05:41:45.37ID:elBmdblJ
>>442 Io

File standardInput readLines map(do(
sort .. slice(0,1) .. slice(size)
))unique size println
0462デフォルトの名無しさん
垢版 |
2020/05/08(金) 01:18:21.71ID:i1AtDmyk
色んな言語による実装が見られて楽しい。
ロゼッタストーンのように自分が出来ない言語の実装も
お題ごとに見られて面白い
0464デフォルトの名無しさん
垢版 |
2020/05/08(金) 10:32:30.11ID:4QFssqyQ
>>451
心が癒される回路である。
0465デフォルトの名無しさん
垢版 |
2020/05/08(金) 19:17:46.66ID:Fn4yfVbS
>>442
Haxe で

var input_ary: Array<String> = [ "6", "programming", "odai", "prorgamnimg", "oadi", "pgorgamming", "idao" ];
var str_map = new Map<String, Bool>( );

for ( i in 0...input_ary.length ) {
var char_ary = input_ary[ i ].split( "" );
var tmp_ary = new Array<String>( );
var tmp_str = "";
var char_map = new Map<String, Bool>( );

tmp_str = tmp_str + char_ary[ 0 ] + char_ary[ char_ary.length - 1 ]; // 最初・最後

for ( j in 0...char_ary.length ) {
char_map.set( char_ary[ j ], true ); // 同じ文字を排除
}
for ( ch in char_map.keys( ) ) {
tmp_ary.push( ch );
}
tmp_ary.sort( function( a, b ): Int {
return ( a.charCodeAt( 0 ) > b.charCodeAt( 0 ) ) ? 1 : -1; }
);
for ( k in 0...tmp_ary.length ) {
tmp_str += tmp_ary[ k ];
}
str_map.set( tmp_str, true ); // 重複排除
}
var size = Lambda.count( str_map );
trace( size ); // 4
0466デフォルトの名無しさん
垢版 |
2020/05/09(土) 20:03:47.46ID:slqshlLL
お題
文字列Sが与えらえる。Sの部分列に"odai"は何個あるか?

[1] odadai => 3
部分列は以下の3通り
oda__i
od__ai
o__dai

[2] odaiodai => 5

[3] ooooddddaaaaiiii => 256

[4] daioadiao => 0
0469デフォルトの名無しさん
垢版 |
2020/05/09(土) 21:12:25.27ID:CDHXGmMd
>>466
D 再帰の力ってすげー
size_t count_substring(string target, string from) {
if (target.length == 0) {
return 1;
} else if (from.length == 0) {
return 0;
} else if (target[0] == from[0]) {
return count_substring(target[1..$], from[1..$]) + count_substring(target, from[1..$]);
} else {
return count_substring(target, from[1..$]);
}
}
0473466
垢版 |
2020/05/10(日) 13:59:33.90ID:gIVDr8oL
入力サイズが小さいと簡単みたいなので、入力例を追加します。

[1]〜[4]の入力を1000回繰り返した文字列を入力とした場合

[1'] 167501334000
[2'] 668668500500
[3'] 10730784064000
[4'] 999666166500
0476デフォルトの名無しさん
垢版 |
2020/05/11(月) 19:02:44.58ID:bA9qwXrL
>>474
すごすぎる
0482デフォルトの名無しさん
垢版 |
2020/05/11(月) 23:42:50.17ID:Hyf1216H
お題: 15パズルのシャッフルプログラム
0486デフォルトの名無しさん
垢版 |
2020/05/12(火) 19:39:32.13ID:MKYG7Wu5
>>466 Ruby
def f(a,b)
r=0
v=b.chars
a.chars.combination(b.size){|x| r+=1 if x==v}
r
end
0493デフォルトの名無しさん
垢版 |
2020/05/13(水) 00:03:06.87ID:slJfSE7v
>>490
Rubyのコードを見るとシュババ!って「Rubyはもっと簡潔に書ける!Rubyはもっと便利なんだ!」だとアピールするやつがいるってこと。
この板にはRubyガイジが蔓延ってるからそいつが脳裏に浮かんだからレスしてみただけです。
0503デフォルトの名無しさん
垢版 |
2020/05/13(水) 17:55:10.86ID:m+8rhLrR
0~7を2~19の素数に対応させた回路
digraph g1 {
subgraph cluster_1 {
label = "Solution_1"
aa_1_1, aa_1_1 -> aa_1_3 ; aa_1_2, aa_1_2 -> aa_1_4 ;
aa_1_3, aa_1_0 -> aa_1_5 ; aa_1_4, aa_1_3 -> aa_1_6 ;
aa_1_5, aa_1_0 -> aa_1_7 ; aa_1_5, aa_1_2 -> aa_1_8 ;
aa_1_6, aa_1_6 -> aa_1_9 ; aa_1_7, aa_1_1 -> aa_1_10 ;
aa_1_7, aa_1_7 -> aa_1_11 ; aa_1_8, aa_1_2 -> aa_1_12 ;
aa_1_8, aa_1_6 -> aa_1_13 ; aa_1_9, aa_1_5 -> aa_1_14 ;
aa_1_12, aa_1_5 -> aa_1_15 ; aa_1_12, aa_1_10 -> aa_1_16 ;
}
}
0517デフォルトの名無しさん
垢版 |
2020/05/14(木) 11:14:37.43ID:mLSyRb78
お題: 標準入力から使用言語のインポート文やインクルード文に相当する複数の文が入力される
インポート文のパッケージ名をキーにして複数の文を昇順にソートして出力せよ

例: (Pythonの場合)
in < import abc
import def
from ABC import DEF

out > from ABC import DEF
import abc
import def
0518デフォルトの名無しさん
垢版 |
2020/05/14(木) 12:37:36.92ID:HMZArJeP
iostreamが一番上に無いと落ち付かないし、
<>と""が混ざるのもヤダ
0520デフォルトの名無しさん
垢版 |
2020/05/14(木) 16:21:13.66ID:TUXEfYWI
#includeは行を前後入れ換えるとエラーになることあるから実用的ではない

まあ例え実用的でなくても要求仕様のとおり作れってことなんでは?
0521デフォルトの名無しさん
垢版 |
2020/05/14(木) 17:58:25.38ID:nTyJBG5I
お題の意味を深読みするやつはテストの点が悪い
テストの問題などそれが解けるかどうかを見たいのであって
それ自体に大した意味はない
0523デフォルトの名無しさん
垢版 |
2020/05/14(木) 19:33:13.92ID:TM7TYhs5
>>517 Ruby
回答が困難な例を考えてみた

require 'etad'.reverse

foo = 'date'
require foo

require %w| json date net cgi |[1]

module Foo module Bar
Car = 'date'
end end
require Foo::Bar::Car

require_relative './foo/../bar/../car/../wrk'
0525デフォルトの名無しさん
垢版 |
2020/05/14(木) 19:59:06.24ID:9P667XH0
お題
ipのフィルタリングを行ってください
許可するipが次の形式で入力されます allow ip
拒否するipが次の形式で入力されます deny ip
チェックするipが次の形式で入力されます ip
アクセスを許可する場合は次の文字列を出力してください allow
アクセスを拒否する場合は次の文字列を出力してください deny

許可するip、拒否するipの形式は次の2つです
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx/xx (CIDR形式)

xxx.xxx.xxx.xxxの場合は、完全一致で判断してください
CIDR形式の場合は、ネットワークアドレスの一致で判断してください

チェックするipの形式はxxx.xxx.xxx.xxxのみです

allowとdenyの優先順について
1. allow ipに該当したらアクセスを許可します
2. 1.に該当せず、deny ipに該当したらアクセスを拒否します
3. 1.に該当せず、2.に該当しない場合アクセスを許可します


入力
allow 192.168.11.9
deny 192.178.12.3/8
allow 192.168.23.34/16
192.168.89.99

出力
allow
0526デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:01:48.04ID:9P667XH0
小規模なシステムだとサーブレットでipのフィルタリングすることあるから結構実用的だと思う
0528デフォルトの名無しさん
垢版 |
2020/05/14(木) 20:24:36.69ID:9P667XH0
>>527
そういうわけでもないんよ

例えば
deny 0.0.0.0/0
allow 20.8.5.34

とした場合、20.8.5.34は許可するけど、それ以外は全部拒否っちゃうみたいな
ホワイトリスト方式の使い方も想定してるんよ

システムの入り口のところなので大量のリクエストを裁かなければいけないので
できるだけ高速に動作するように、さらにアクセス制御リストに変更があった場合に
即座に反映するために外部リソースから読み取るようにしておいてみたいなことも
考えると良い暇つぶしになるよー
0540デフォルトの名無しさん
垢版 |
2020/05/15(金) 23:46:30.15ID:PLtuBlLM
>>525>>528 Perl5
sub na { (((($_[0] << 8) + $_[1]) << 8) + $_[2]) << 8 + $_[3] }
sub iaf { my @rl;
 for (split "\n", shift) {
  my @f = /(?:(allow|deny)\s+)?(\d+)\.(\d+)\.(\d+)\.(\d+)(?:\/(\d+))?/;
  if ($f[0]) {
   push @rl, [$f[0], na(@f[1..4]), $f[5]//0];
  } else {
   $res = 'allow';
   for (@rl) { $res = $$_[0] if ($$_[1] & $$_[2]) == (na(@f[1..4]) & $$_[2]) }
   print "$_ -> $res\n";
  }
 }
}
iaf <<EOL;
allow 192.168.11.9
deny 192.178.12.3/8
allow 192.168.23.34/16
192.168.89.99
EOL
iaf <<EOL;
deny 0.0.0.0/0
allow 20.8.5.34
20.8.5.34
EOL

実行結果
~ $ perl 17_525_ip_filt.pl
192.168.89.99 -> allow
20.8.5.34 -> allow
0541540
垢版 |
2020/05/15(金) 23:48:47.34ID:V3+gK270
>>540
ゴメン、これ間違いがある
0543540
垢版 |
2020/05/16(土) 00:00:07.30ID:6i7hUAj2
>>540
6行目
× push @rl, [$f[0], na(@f[1..4]), $f[5]//0];

○ push @rl, [$f[0], na(@f[1..4]), -1 & 2**$f[5]-1];
0544蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/16(土) 00:38:46.63ID:mmCD1xOl
お題: ペナルティ方式でパスワードの強度を判定するプログラム。「弱い」「普通」「強い」の3段階で判定する。

5文字より短いパスワードは「ダメ」
「3AAA1567」のような同じ文字が3文字以上並んでる場合は「ダメ」
「1234567」「abcdefg」などの規則的なものは「ダメ」
パスワード辞書に登録されているパスワードは「ダメ」
英単語辞書に登録された単語そのものは「ダメ」
英単語辞書に登録された単語を含むものは「あまり良くない」
英字のみは「あまり良くない」
数字のみは「ダメ」
「2020/5/16」「20.5.16」のような日付に見えるものは「ダメ」
0545540
垢版 |
2020/05/16(土) 00:46:40.04ID:fpR/KoQd
あんさんのお代に共通して言えることだけど、
難易度はさておいて、パスワード辞書に登録されているか調べたり
英単語辞書に登録された単語化調べたりするのは
それなりに冗長でサイズがかさんで回答しにくい。(難易度とは別に手間がかかる)
こういうところに出すお題は、もっと手短にかける回答になるないと
対応しにくい
0547540
垢版 |
2020/05/16(土) 01:16:31.49ID:qT19c9Q0
また荒れるようにあおる理由は何よ
0548デフォルトの名無しさん
垢版 |
2020/05/16(土) 01:17:01.29ID:lk9pP577
テスト用なんだし適当に辞書に数個のデータ書いとけば良くね?
入力例を書くのと同じようなもんでしょ。
0549540
垢版 |
2020/05/16(土) 01:18:31.56ID:qT19c9Q0
>>548
まかせた。
俺はこのお題は下りる。
0562デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:00:50.47ID:3JQ6JRsi
>>561
0565デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:06:25.12ID:EUq6tLtb
お客さん、お口が悪いですよ。
0566デフォルトの名無しさん
垢版 |
2020/05/17(日) 01:12:24.60ID:75sCr/7U
>>563
0567デフォルトの名無しさん
垢版 |
2020/05/17(日) 11:38:13.44ID:vMT2I4CL
>>566
0571デフォルトの名無しさん
垢版 |
2020/05/19(火) 20:39:41.77ID:8HY/3oGP
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
0572デフォルトの名無しさん
垢版 |
2020/05/20(水) 19:45:40.23ID:7wrEZNzM
お題
N×M個の頂点からなる格子状の無向グラフが与えられる。
グラフのエッジは隣同士の頂点を結んでいる。

このグラフの全域木を一つ出力せよ。
ただし、横線と縦線の数は同じでなければならない。

[入力]
N M (N, Mは3以上の奇数)

[出力]
頂点'o'、横線'-'、縦線'|'を使って全域木を描画せよ。(答えは複数あり得る)

[入力例]
3 7

[出力例]
o-o-o-o-o-o-o
|.|.|.|.|.|.|
o.o.o.o.o.o.o
|.....|...|..
o-o-o.o-o.o-o
※表示の都合上、スペースは'.'に置き換えています。
0573デフォルトの名無しさん
垢版 |
2020/05/20(水) 23:01:41.75ID:2ebYf5N5
>>572 Ruby
n, m = gets.split.map{|s| s.to_i}
na = [ ['-']*(n+m), [' ']*(n*(m-1)-n-m) ].flatten.shuffle
ma = [ ['|']*(n+m), [' ']*(m*(n-1)-n-m) ].flatten.shuffle
n.times{|y|
puts [ na[y*(m-1)...(y+1)*(m-1)].map{|s|'o'+s}, 'o' ] * ''
puts ma[ y*m...(y+1)*m ].join(' ') if y != n-1
}
0574デフォルトの名無しさん
垢版 |
2020/05/20(水) 23:05:23.83ID:LJzSJjXI
お題:二重振り子を数値計算でシミュレーションせよ
0576蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/22(金) 12:58:56.52ID:QNXRWxiX
お題: 入力文字列に機種依存文字が含まれているか判定するプログラム。
0578デフォルトの名無しさん
垢版 |
2020/05/22(金) 19:52:54.26ID:GgyK+ULi
>>576 C
#include <stdio.h>
int check( unsigned char uc ){
return( uc == 0x40 || uc >= 0x5b && uc <= 0x5e || uc == 0x60 || uc >= 0x7b && uc <= 0x7e || uc >= 0x80 );
}
void main(){
char ch;
while( (ch = getchar()) != EOF )
check( ch ) && printf( "Check %02X '%c'\n", ch, ch );
}
0579蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/22(金) 21:10:30.88ID:OWpC2iYH
お題: XY平面上の謎のキャラクターPが原点に居てY軸(北)の方向を向いている。Pは何回か次のいずれかのアクションを行う。
アクション1. 90度左に自転する。
アクション2. 90度右に自転する。
アクション3. 一つ前に進む。
入力は、カンマ区切りのアクション番号の並びとする。Pは入力されたアクションを順番に実行する。
出力は、入力の各アクションを実行した後の位置と向き(東西南北)を順番に並べたものとする。

入力例1) 1, 3, 3, 2, 3
入力例2) 3, 2, 3, 1
0581デフォルトの名無しさん
垢版 |
2020/05/23(土) 02:20:43.28ID:zNKp3hWU
>>579 Ruby
def moves( str )
x, y = 0, 0
r = 0
ta = [ [0,-1], [1,0], [0,1], [-1,0] ]
ts = %w{北 東 南 西}
str.split(/,\s*/).each{|ch|
case ch
when '1'; r = (r - 1) % 4
when '2'; r = (r + 1) % 4
when '3'
x += ta[r][0]
y += ta[r][1]
end
puts "%3d %3d %s" % [ x, y, ts[r] ]
}
end
moves( "1, 3, 3, 2, 3" )
moves( "3, 2, 3, 1" )
0582デフォルトの名無しさん
垢版 |
2020/05/23(土) 03:35:28.55ID:zNKp3hWU
>>579 Ruby
def moves( str )
x, y = 0, 0
dx, dy = 0, -1
ts2 = %w{北 西 \ 東 南 }
str.split(/,\s*/).each{|ch|
case ch
when '1'; dx, dy = dy, -dx
when '2'; dx, dy = -dy, dx
when '3'
x += dx
y += dy
end
puts "%3d %3d %s" % [ x, y, ts2[dx + 2*dy + 2] ]
}
end
moves( "1, 3, 3, 2, 3" )
moves( "3, 2, 3, 1" )
0583デフォルトの名無しさん
垢版 |
2020/05/23(土) 13:53:09.08ID:zNKp3hWU
>>579 Ruby
Vectorで書き直して歩数を追加

require 'matrix'
def moves( str )
xy = Vector[ 0, 0, 0 ]
v = Vector[ 0, -1, 1 ]
ts = %w{ 北 西 x 東 南 }
str.split(/,\s*/).each{|ch|
case ch
when '1'; v = Vector[ v[1],-v[0], 1]
when '2'; v = Vector[-v[1], v[0], 1]
when '3'; xy += v
end
puts "%3d %3d %3d歩 %s" % [ xy.to_a, ts[v.dot(Vector[1,2,0])+2] ].flatten
}
end
0584デフォルトの名無しさん
垢版 |
2020/05/23(土) 14:12:42.14ID:z+y0fCqO
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
0585デフォルトの名無しさん
垢版 |
2020/05/23(土) 20:15:00.25ID:a8T1l8MG
なにこの糖質ヤバ
0586蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/23(土) 20:30:44.22ID:tuPjXkuO
お題: テキトーに木構造を描画せよ。

入力例)
動物→鳥類、哺乳類
鳥類→ペンギン、アヒル、スズメ
哺乳類→ニワトリ、リス
0587デフォルトの名無しさん
垢版 |
2020/05/23(土) 21:34:52.27ID:FnKZOoV+
>>586
digraph sample {
subgraph cluster1 {
label="cluster1";
{
動物->鳥類, 哺乳類;
鳥類->ペンギン, アヒル, スズメ;
哺乳類->ニワトリ, リス;
哺乳類, 魚類, 鳥類->アマビエ;
}
}
}
0588デフォルトの名無しさん
垢版 |
2020/05/23(土) 21:42:52.29ID:a8T1l8MG
言語は
0591デフォルトの名無しさん
垢版 |
2020/05/23(土) 22:16:49.59ID:a8T1l8MG
0592デフォルトの名無しさん
垢版 |
2020/05/23(土) 22:17:57.75ID:a8T1l8MG
>>589
美しい
0595蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/23(土) 23:25:04.33ID:tuPjXkuO
お題: おらがロボ村では、5人の選手が参加するマラソン大会が実施される。マラソンコースは半径500mの円形で、各選手はコースを一周する。
マラソン大会の開始時刻では、5人の選手はスタートラインに並ぶ。各選手を20km/h〜40km/hのランダムな速度でコースに沿って
ゴールに向かって動かし、スタートラインからの相対位置と順位を1分ごとに記録せよ。
0598デフォルトの名無しさん
垢版 |
2020/05/24(日) 20:12:35.94ID:UpvKbmnk
バグってて草
0602デフォルトの名無しさん
垢版 |
2020/05/29(金) 19:46:09.73ID:Yyjc625Z
>>600 C++ Windows

#include <Windows.h>
#include <iostream>

int main()
{
auto drives = GetLogicalDrives();
for (int i = 0; i < 32; ++i) {
if (drives & (1 << i)) {
char directory[] = "A:";
directory[0] += i;
ULARGE_INTEGER freeBytes;
if (GetDiskFreeSpaceExA(directory, nullptr, nullptr, &freeBytes) != 0) {
std::cout << directory << " " << freeBytes.QuadPart << std::endl;
}
}
}
}
0603デフォルトの名無しさん
垢版 |
2020/05/30(土) 02:41:31.20ID:k7WMMDxu
>>600

#!/bin/sh

echo '残りHDD容量'
0608デフォルトの名無しさん
垢版 |
2020/05/30(土) 19:59:18.23ID:/dD/Ru8o
代々受け継がれた秘伝では
ビット演算にはいやらしいほど大量の括弧を付ける
0609デフォルトの名無しさん
垢版 |
2020/05/30(土) 20:08:41.76ID:40+e0S4G
Cの条件文の後の式も
必ずカッコ{}でくくらないと
気持ち悪くなる体になってしまった
0612蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/31(日) 08:43:10.84ID:KExNe49d
お題: アリが20匹現れた。ハエ叩き棒でやっつけろ。ジョークプログラムなので、なるべく面白いのを頼む。
0613デフォルトの名無しさん
垢版 |
2020/05/31(日) 10:31:10.30ID:Rl1Q+n8J
前出のお題の修正:
5以上の素数に対して、6の剰余は±1のいずれかになる。剰余を順次加算していくと
合計が0になる時の素数は
7, 13, 19, 37, 43, 79, 163, 223, 229
が表れる。次に表れる素数は何か。
0614デフォルトの名無しさん
垢版 |
2020/05/31(日) 11:28:53.67ID:nFHAPcg5
>>613
C && sh
is_prime.exe のソース
https://pastebin.com/JSJU2GWt
これは is_prime.exe 5 600 で5以上600以下の素数を整形して表示する
また、 exe 7 => 7, exe 8 => のように引数1つの時はそれが素数である場合のみ返す
そんな exe を使えば題意の229の次は521だと分かる

~/bin/is_prime.exe 5 600 |perl -pe 's/\s+/\n/g'| head -200 | sed '/^$/d' | perl -ne 'chomp;m/\A(\d+)/;$total += $1; print "$_ ($total)\n" if ($total %6 == 0)'
7 (12)
13 (36)
19 (72)
37 (192)
43 (276)
79 (786)
163 (2742)
223 (4656)
229 (5112)
521 (23064)
569 (26364)
593 (28692)
0615デフォルトの名無しさん
垢版 |
2020/05/31(日) 14:47:31.82ID:nFHAPcg5
出力コードを簡素化した。結果は同様
~/bin/is_prime.exe 5 600 |perl -pe 's/\s+/\n/g'| head -200 | sed '/^$/d' | perl -ne '$total += $_; print if ($total %6 == 0)'
7
13
19
37
43
79
163
223
229
521
569
593
0616デフォルトの名無しさん
垢版 |
2020/05/31(日) 16:58:02.85ID:cODyvW7N
>>614
済みませんが、
素数の時、6の剰余+1か-1のいずれかを使って
加算してください。
0617デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:09:04.04ID:pTVQa+4z
>>613
問題の意味がわからない。

> 5以上の素数に対して、6の剰余は±1のいずれかになる。

割り算の余りがマイナスになるというのはどういう事なのか?
0620デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:21:00.56ID:nFHAPcg5
整数でいえば余り1,5の状態だな

>>616
No
mod 6 で閉じてて可換な四則計算順序を指定する意図が不可解
0621デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:24:13.24ID:eZt8j+dv
ああーそれとも剰余の合計rに対して
剰余が5 のときr--して剰余が1のときr++しろってことかな?
なら>>613は解無しじゃないのか
0622デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:25:46.74ID:Vy0zCg8D
これは荒れる予感
0624デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:09:27.86ID:pTVQa+4z
>>619
(n - 1) mod n の計算結果は n - 1 になるが? 5 mod 6 = 5 になるだろ普通に計算すれば。
余りはどうやっても負の数にならんよな。余りなんだから。
0626デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:15:11.96ID:7viDr3wo
落ち着けよ
ガキじゃねえんだからさぁ…
0627デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:17:14.86ID:pTVQa+4z
>>625
それはどういうルールなのか?普通の数学や数値計算とルールが違うのであればその独自ルールを全て書いてくれ。
書いてくれればそれに合わせて考えるから。
0628デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:18:31.19ID:eZt8j+dv
>>627
普通の文脈で、数学において x = -1 mod n ⇔ x = n - 1 mod n なんですが、あなたはどの宇宙の数学を学んできたんですか
0631デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:30:52.80ID:eZt8j+dv
>>630
いやだからそもそも剰余環境Z/nZにおいては -1 も n - 1 も同じ数字なんだっての
なんで理解できないの
0633デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:35:39.68ID:pTVQa+4z
>>631
「剰余環境Z/nZ」とは何か?
0634デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:54:07.01ID:F5Rzc4As
いきなり専門用語使いだすオタク
0635デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:56:47.94ID:Ni/4BDkr
ほんとお前ら数学の話題大好きだよな
0636◆QZaw55cn4c
垢版 |
2020/05/31(日) 20:56:59.96ID:22Gnkx1d
>>630
n を自然数として、
6n + 5 の形である整数の集合…@

6n - 1 の形である整数の集合…A
があったとき、よくよく考えると @とAは合致しませんか?

>>631
もっと簡単な言葉で説明できませんか?難しい言葉でしか説明できないのなら、それは本質がわかっていないということになりませんか?

>>632
馬鹿にあわせて説明できる人こそ真の天才だとおもいますが、そういう人はなかなかいないようですね
0637デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:57:37.82ID:HJ4meGZ2
数学の話してんなら普通やろ
いつもの数学コンプレックスニキが自演してんやろな
0639デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:00:21.63ID:2kODrb8A
>>623
ありがとうございます。まだ確認できていませんが、
素数が6の剰余で+1型とー1型が同じ割合で存在するなら合計の零点は
もっと頻繁にあると思っていました。
0640デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:09:29.45ID:sumeuwmr
同値とかいう言い方してるから伝わないんやろ
そんなこともわからんのか
0644デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:12:53.15ID:eZt8j+dv
ググれば10秒でわかることをいちいち聞いてくるアホ共
最終的には足し算の定義聞かれてペアノの公理説明することになりそうだなw
0645デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:14:02.77ID:Z63y3ceL
>>613 こんな感じじゃないかなあ
C++
#include <iostream>
const int MAXENT = 1000000;
int prime_table[MAXENT] = {3};
int main()
{
 int found = 0, s = 0, d = 4;
 for(__int64 p = 5;;p += (d = 6 - d)) {
  for(int i = 0;;i ++) {
   int can = prime_table[i];
   if( p < can * can || i >= found ) {
    if( p < MAXENT ) { prime_table[found ++] = (int)p; }
    if( (s += d - 3) == 0 ) { std::cout << p << std::endl; }
    break;
   }
   if( p % can == 0 ) { break; }
 } }
 return 0;
}
0646デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:22:36.66ID:jV2aqIZ1
「n-1と-1は同値」
これ本来の同値ってワードの使い方として合ってるの?
まあ感覚でわかるけどややこしくしてる要因だな
0647デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:24:23.77ID:eZt8j+dv
>>646
「x = -1 mod n ⇔ x = n - 1 mod n 」ってわざわざ読み下してるんですがあなたの眼球にはピンポン玉でもつまっているのですか?
0648デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:26:38.45ID:zrZ3dZ+f
数学オタは意地でもスマートな記述にこだわるから一般人には伝わりにくい
もっと日常語で説明して
0651デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:29:19.97ID:oxSjxpRM
数学得意なやつにとって当たり前で簡単なことは勝手に算数呼ばわりする奴も定期的に湧くよな
0653デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:30:56.41ID:eZt8j+dv
実際中学生レベルの算数をして算数と呼んでいるのですが、あなたたちは中学校で算数を学ばなかったのですか?
0655デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:32:26.20ID:Kvp86bM8
中学でやるのは数学ですよね。
それをわざわざ算数と呼ぶところに悪意が満ち溢れていてまさに荒らしの鑑ですね。
0656デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:33:22.27ID:ZOgXINxw
単発IDで必死だなお前
中学の数理技術を教える授業をなんて呼ぶかなんて些末な問題だってわからないくらいに頭が悪いんだな
0657デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:33:43.80ID:68sgpSB3
負の数に関するmodは中学数学ではありません!
0659デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:34:47.98ID:Z63y3ceL
>>648
こんな風に表現してみてはどうかねえ
5以上の素数pで、
p以下にある6で割って1余る素数の個数と
p以下にある6で割って5余る素数の個数とが一致するのは、小さい順に
7, 13, 19, 37, 43, 79, 163, 223, 229
となるが、その次に一致する素数は何か?
0662デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:37:02.93ID:HODb9qjk
世の中の90%は負の数のmodを扱えない
0666デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:44:24.93ID:Z63y3ceL
いま>>645のプログラムを回してるんだけど、
答えが12桁なんだったら、結果が出るのは数日後になるんじゃないかなあ
もっと早い計算機で回してもらうか、アルゴリズムの改良が求められるね。

Perl でこんなのも作ったけど遅くて話にならない
use Math::Prime::Util next_prime; for($p = 5;;$p = next_prime($p)) { $p % 6 == 1 ? $s ++ : $s --; print "$p\n" if $s == 0; }
0667デフォルトの名無しさん
垢版 |
2020/05/31(日) 22:06:06.16ID:TtXgrlrn
>>639
正解は知らないし適当な想像で言うけど、+1と-1の出現頻度が同じ確率に収束するとして、最初の段階で合計が0からある程度離れたとしたらなかなか0には近づかないんだないの?
0668デフォルトの名無しさん
垢版 |
2020/05/31(日) 22:13:03.44ID:27DcnLkI
>>613
A098044 - OEIS
https://oeis.org/A098044

3, 7, 13, 19, 37, 43, 79, 163, 223, 229,
608981812891, 608981812951, 608981812993, 608981813507,
608981813621, 608981813819, 608981813837, 608981813861,
608981813929, 608981813941, 608981814019, 608981814143,
608981814247, 608981814823
0669デフォルトの名無しさん
垢版 |
2020/05/31(日) 23:58:18.12ID:pTVQa+4z
>>636
するね。で?
元の問題は剰余と書いてあるわけだが、負の値の余りはありえないだろう。余りなんだから。計算上の一致は分かるがそれは余りではない。
0673デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:08:20.72ID:6KBAlGQt
>>671
>>613にはその定義を用いると書かれていない。
0674デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:17:02.58ID:u7kDoQ1s
>>673
>>613の時点で剰余は±1といってるんだから、>>613の意図しているものがお前が考えている正の余りだけを考える剰余ではないのは明確だろう。
俺が知っているルールが絶対だ、俺に断りなく俺の知らない俺の習ってないルールを使うのは許さん!なんて考えてるなら、周りから話の通じないめんどくさい奴だと普段から思われてないか?
自分の知っているものと違うなら、自分が知らないものかもしれないとか自分の理解が間違っている可能性があるとかに思いが至るのが普通の人間の思考だと思うぞ。
0675デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:27:54.69ID:6KBAlGQt
>>674
許さんなどと書いてはいない。違うルールであるならばそれを書いてくれと言っているだけだ。
でないと問題として情報不足で成り立たないからだ。
0677◆QZaw55cn4c
垢版 |
2020/06/01(月) 06:13:36.67ID:sHDqW2qD
>>675
>違うルールであるならばそれを書いてくれと言っているだけだ。
>でないと問題として情報不足で成り立たないからだ。

負の剰余なんて、>>671 で例示した基本書でも記述されているくらいに誰でも知っていることなので明示する必要はないでしょうね
0678◆QZaw55cn4c
垢版 |
2020/06/01(月) 06:16:04.53ID:sHDqW2qD
>>672
でしょう?

>>671 の URL で示した wiki に私は(解析・代数も含めて)全部入力したかったんですが「米国」著作権法に抵触する、ということで入力は途中までになってしまいました
0679デフォルトの名無しさん
垢版 |
2020/06/01(月) 06:41:55.65ID:u7kDoQ1s
>>675
ほんとに書いてあることを字面通りにしか受け取れない奴なんだな。

これまでもこのスレのお題には、問題文に全てが厳密に書かれて無いが話の流れや解答例から推測できたり些末な部分だから無視できるような問題は山のようにあったが、それには突っ込まずこの問題では執拗に絡んでくるのは数学的な問題だから?
数学の問題が解きたいだけなら、このスレのお題なんかやらずに学校の教科書や入試の問題のような、どんな突っ込みやクレーム(そんなの習ってませーん!その表記は習ったのと違いまーす!)も受けないように作られた学校の教科書や入試の問題を解いていた方が幸せになれるぞ。
0680デフォルトの名無しさん
垢版 |
2020/06/01(月) 06:43:45.28ID:u7kDoQ1s
>>679
編集しているうちに二重になっている部分ができでしまった、すまん。
文意は察してくれ。
0681デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:17:42.52ID:Q7jDGvsp
>>677
誰でも知ってねえから
世の中の90%は知らん
嘘つくな
0682デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:19:57.55ID:SiKhQjlx
理系でも80%は知らん
一般的な定義を知ってるのはオタクだけ
0683デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:24:21.54ID:SiKhQjlx
オタクって自分が知ってることはみんな知ってると思い込む性質があるよな
0684デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:50:44.50ID:C7mdhzKn
おまえの頭の中まで知らない、定義しろ。
おまえが顧客なら聞き取りするが、出題者なんだから定義しろ。
って事で良いのでは。
0685デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:52:24.03ID:6Xly6grx
喚く数学弱者と取り巻きのマウントガイジはスレの癌だから出て行けよ
何回やるんだクソ荒らしども
0686デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:20:48.51ID:CPFP05NA
-1余ってる状態に何も違和感は無いな
己の題意汲み取り能力の欠陥を認められずに「余り」という単語に固執し「俺は悪くない」「おまえらオタク」と責任転嫁
無知なくせに自尊心だけは一丁前のガキが駄々こねてる様はみっともない
どうせどこでもお前はポンコツ扱いされてるんだろうからいい加減認めろよ
0687デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:24:50.64ID:FnM+G6rG
何カッコつけてんのコイツ…
0688デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:36:53.52ID:4DlttHZB
数学得意な人多そうなら誰か>>574を解いてみてくれ
0691デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:57:31.44ID:ruvyvZ5a
意地の張り合い
0692デフォルトの名無しさん
垢版 |
2020/06/01(月) 10:00:35.11ID:ruvyvZ5a

ここまで意地の張り合い

ここからも意地の張り合い
0693デフォルトの名無しさん
垢版 |
2020/06/01(月) 10:04:11.63ID:8+YXNEar
>>687
現実ではポンコツ扱いされてるんだから、ここでくらいカッコつけてさせてあげようよ
0694デフォルトの名無しさん
垢版 |
2020/06/01(月) 11:28:58.15ID:6KBAlGQt
>>676
勉強になった点はあるが何故こちらが謝る必要があるのか?こちらは問題の不備に対して質問しただけなのだが?
謝らねばならない者が居るとしたら不備のある問題を作った者だろう。まあここなら別に謝らなくても良いけどね。
解く義務があるわけでもないし、こちらが金払って問題作って貰っているわけでもないから。

>>677
出鱈目を書くな。誰でも知っている事ではない。

>>679
たまたま目に入ったからだよ。そして作るべきプログラムの仕様がはっきりしていない点を質問しただけだ。
しかし答えたくないなら無視すれば良かったのではないか?そうすればこちらは問題を解こうとせずにそのまま放置して終わりだ。
最初から解く義務はないからな。

>>686
IDをコロコロ変えながら質問した側を貶めても君の頭が良くなることはないよ。むしろ君が馬鹿であることを晒す事になるだろう。
0697デフォルトの名無しさん
垢版 |
2020/06/01(月) 14:14:25.89ID:qX/epz92
modやのうて負の数のmodやな
0698デフォルトの名無しさん
垢版 |
2020/06/01(月) 14:19:24.18ID:trYMt+yr
次スレにはワッチョイつけるんだぞ
絶対だぞ
0699デフォルトの名無しさん
垢版 |
2020/06/01(月) 14:42:22.37ID:XYwqkQb+
剰余と言ってるんだからmodじゃなくてremainderでござろう
0700デフォルトの名無しさん
垢版 |
2020/06/01(月) 15:22:46.54ID:dC+yIyNj
Z=1/jωCと書くと発狂するの?
0701デフォルトの名無しさん
垢版 |
2020/06/01(月) 15:24:45.37ID:Vn8NtrEI
むしろそっちの方が負の数の剰余より理系の中で認知度高いだろ
0702デフォルトの名無しさん
垢版 |
2020/06/01(月) 15:53:54.54ID:4JMfPi1s
>>613
Ruby で作ったけど、10分経っても終わらないw

require 'prime'

memo = 0
ary = [ ]

Prime.each do |prime|
case prime % 6
when 1 then memo += 1
when 5 then memo -= 1
else next # 2, 3 の時は、処理なし
end

if memo == 0
ary.push prime
break if prime > 229
end
end

p ary
0704デフォルトの名無しさん
垢版 |
2020/06/01(月) 17:56:52.43ID:dC+yIyNj
素数の6の剰余は3の剰余に等しい。
0705デフォルトの名無しさん
垢版 |
2020/06/01(月) 18:24:47.28ID:iGrCfehO
どうでもいいけど
mod演算の結果が負になることは無いとか決めつけてると
Cの場合なんか特にアンダーラン起こしてハマるよ
0706デフォルトの名無しさん
垢版 |
2020/06/01(月) 18:27:43.52ID:XYwqkQb+
>>705
せやからそれはremainderであってmoduloとちゃいまんがな
0707デフォルトの名無しさん
垢版 |
2020/06/01(月) 18:38:44.10ID:Ymd/NCEn
負の数の剰余って言語によってバラバラじゃなかったっけ
0708デフォルトの名無しさん
垢版 |
2020/06/01(月) 18:49:13.36ID:C7mdhzKn
腐れ言語に限ってマイナス返せるのがどうにも。
0709デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:03:30.80ID:MVTCULvy
小学生ですら習うことのあるmoduloを知らずに発狂してるアホ
バカに限って謙虚に物を学ぶということをしねえんだよな
0710デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:14:34.15ID:v/h5RNAa
負の数の剰余は世の中の90%は知らないと何度言えば覚えるのか…
0711蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 20:20:20.84ID:8AaThHDM
お題: XX:YY:ZZ形式で2つの時刻が与えられる(XXは時間、YYは分、ZZは秒)。2つの時刻の差を求めよ。
0712デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:20:30.11ID:ccscrclc
それを言ったら世の中のほぼ全ての人間はプログラミング何か知らないんだし何でもありだなw
0713デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:21:24.84ID:v/h5RNAa
>>712
どういう「理屈でなんでもありなんだな」、につながるんだ?
0715デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:23:27.22ID:v/h5RNAa
>>714
感覚の話だろ
おまえは本当に理系のほとんどは負の数の剰余を扱えると信じてるのか?
0717デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:25:26.58ID:v/h5RNAa
>>716
で、まじで信じてるの?
やばいですね☆
0718デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:25:37.84ID:3r5GXcjh
世間一般じゃなく
ム民が当然知らなければならない事柄を基準にするべきだろう
0719デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:26:00.75ID:v/h5RNAa
>>718
負の数の剰余はプログラマーならほとんど知ってると信じてるの?
0720デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:26:08.55ID:ccscrclc
>>711
それって不定性があると思うんだけど
例えば13:00:00と4:00:00だと9時間差とも思えるし15時間差と思えるから
その場合は一番小さい値を出せば良いのか?
0722デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:27:00.98ID:v/h5RNAa
>>721
その負の数に関する定義を知ってるかどうかの話ですよね
0725デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:28:18.55ID:v/h5RNAa
>>723
それはあなたの感想ですよね?
つまりプログラマーなら負の数の余りに関する理解があると信じてるということですね?
やばいですね☆
0726デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:28:26.08ID:MVTCULvy
小学生が習うことすら知らなくて恥ずかしくないの?
公理主義の数学を語るうえで信じるもクソもねえよアホか
0728デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:29:12.56ID:v/h5RNAa
>>726
公理とはなんの話ですか?
負の数の余りに関する定義を知ってるかどうかの話をしているのですが会話できないのですか?
0730デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:29:48.63ID:v/h5RNAa
>>729
だからそれはあなたが個人的に信じてることですよね?
言ってる意味わかりますか?
0731デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:30:07.57ID:MVTCULvy
もう愉快犯だろコレwww
さすがにこんなバカがこの世に存在するとは思いたくない
0732デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:31:01.11ID:lCRR7ZWs
>>730
「だからそれはあなたが個人的に信じてることですよね?」
っというのはあなたが個人的に信じてることですよね?
言ってる意味わかりますか?
0733デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:31:13.20ID:v/h5RNAa
「まともな教養のある人間」とかいう曖昧なワードでごまかそうとしてるのですかね
あなたにとっては教養のあるまともな人間とは数学の基礎的な公理をしっかり理解してるってことですか?
0736デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:32:12.17ID:v/h5RNAa
>>732
そのレスでは私がなにを信じてると言いたいのかわかりませんね。
0737デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:32:21.03ID:58vLY0oM
整数論での基本的なところを省略しただけでどんだけ引っ張るねん
基本なんでわざわざ明記しなかっただけだろ
素数の定義も併記したほうがよかったの?
わかんなかったら聞きゃいいだけ
0738デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:32:40.23ID:v/h5RNAa
>>735
それはあなたの周りの人間のはなしですよね?
それは一般論ではありませんね
0740デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:37:30.51ID:v/h5RNAa
>>739
私の認識では東大のことを言ってると思っていますが勘違いならすみません。
でもそれがどうかしたのですか?
いずれにしろあなたの周りの人間のはなしということに変わりはありませんね。
勝手にまともな教養のある人間というのを都合のいいレベルに引き上げて「普通は負の数の余りを扱える」とか言わないでください
0742デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:42:34.74ID:v/h5RNAa
>>741
で、あなたは本当にプログラマーなら負の数の余りの定義を知ってると信じてるですか?
やばいですね☆
0743◆QZaw55cn4c
垢版 |
2020/06/01(月) 20:45:38.43ID:sHDqW2qD
>>671 で権威のある書籍を引用してみましたが、全然動じないし通じないようですね
私が学生時代のときは名前を見ただけで無条件に「ごめんなさい」といってしまったに違いないのですけれども今日日はだめですかね
ただ私の方にも落ち度はあり、権威を借りて説得する、というのは数学的な態度とはいえない、と反省しています
0744デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:46:00.26ID:lCRR7ZWs
>>740
教養ある人っていうのは東大の教養時代に進振りの点数が90点くらいになるような、
リベラルアーツを堪能した知識欲旺盛な人物のことだと思ってたんですけど
教養がない人にとっての教養がある人の認識は違うってことですかね
0746デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:47:15.47ID:v/h5RNAa
彼はなんの話をしているのでしょうか。
私は>>709に反応しただけですよ?
何か都合よく言いくるめたいのですかね
やばいですね☆
0748デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:49:11.17ID:MVTCULvy
>>746
小学生ですら知ってることを知らずに恥をかいて5chでID真っ赤にするとか生きてて恥ずかしくないんですかね
やばいですね☆
0749デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:49:14.35ID:v/h5RNAa
>>744
それに対する私の意見は>>740の後半に書いてますね
勝手に普通じゃないことを普通と決めつけてそれに当てはまらない人をやばい奴扱いしないでください
0750デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:49:37.42ID:v/h5RNAa
>>748
負の数の剰余は世の中の90%は知らないと何度言えば覚えるのか…
0751デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:49:48.87ID:OLzrNVzz
>>705
素数判定があまりに遅いのでBPSW法の実装を試してるんだけど、負数の剰余とか平気で登場するから、もろにこれにハマったw
これを期に勉強できてよかったよ
0753デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:50:22.12ID:lCRR7ZWs
>>749
私からすれば東大の中の上位レベルの教養があるのが普通です
勝手にあなたの普通を押し付けないでください
0754デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:50:43.43ID:v/h5RNAa
>>752
それは私でも知っていますね!
でも今回の件には関係ないですね!
0755デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:51:26.92ID:v/h5RNAa
>>753
東大が普通という認識はやばいですね☆
0757デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:52:29.38ID:v/h5RNAa
>>756
それをほんとうにしんじてるとしたらやばいですね☆
0759デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:53:35.17ID:v/h5RNAa
>>758
いずれにしろ負の数の余りに関する定義を普通の人は知ってるという認識はやばいですね☆
0760デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:54:32.42ID:2s1it8jV
数学の話なのにもう「信じてる」とか感覚の問題でしか反論できてない時点でID:v/h5RNAaはゴミ
死んだ方が良い
この先生きてても誰もお前のことを好きにならない
0765デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:56:21.64ID:v/h5RNAa
>>760
あなたのレスでは会話になりませんね!
純粋な数論しかしてないと認識してるのはやばいですね☆
負の数の余りの定義を知らないとやばい奴扱いされるのが妥当らしいかの話ですよね!
0766デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:56:42.24ID:v/h5RNAa
>>762
その「普通」の認識がやばいってことですね!
0767デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:58:33.76ID:58vLY0oM
お題と関係ない話を延々と…
世間一般的に伝わるかどうかなんてスレどころか板違いだろ
0768デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:59:01.42ID:v/h5RNAa
>>767
確かにそうですね
ごめんなさい
0771デフォルトの名無しさん
垢版 |
2020/06/01(月) 20:59:52.71ID:v/h5RNAa
>>770
そうですか、ごめんなさい��
0772◆QZaw55cn4c
垢版 |
2020/06/01(月) 20:59:53.15ID:sHDqW2qD
>>745
それはそのとおりなんですけれども、なかなか手がつかなくて…
電験2種に取り組んでおりそれに関係するようでしたら私も目の色を変えてやるのだろうと思いますが
今のところ値域が複素数のことはあっても、定義域は実時間 t で実数しかとらないのです…
0775デフォルトの名無しさん
垢版 |
2020/06/01(月) 21:01:29.96ID:v/h5RNAa
>>773
あなたのことも言われてると思いますよ☆
0779蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 21:26:08.77ID:8AaThHDM
お題: xy平面において原点を中心とし、4頂点が軸の上にある一辺10cmの正方形の紙について、与えられた定数a,b,cに対して、
直線方程式a*x + b*y = cを折り線として、紙をプラスの方向に完全に180度折り曲げた後に正方形の4個の頂点がどこに移るかを計算せよ。
可能ならば図示せよ。単位はcmとする。

入力例) a=1, b=-3, c=0.
a=-1, b=1, c=5.
0780デフォルトの名無しさん
垢版 |
2020/06/01(月) 21:27:50.24ID:3YbOvSX5
>>711
pythonで書いてみた
def zikansa(x,y):
time1 = x.split(':')
time2 = y.split(':')
for i in range(3):
time1[i]=int(time1[i])
time2[i]=int(time2[i])
total1 = 3600*time1[0]+60*time1[1]+time1[2]
total2 = 3600*time2[0]+60*time2[1]+time2[2]
return abs(total1-total2)
初心者なので変なとこあったら教えて欲しい
0781デフォルトの名無しさん
垢版 |
2020/06/01(月) 21:47:43.22ID:3YbOvSX5
>>774
やってみた
def rot(x):
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
return alphabet[(alphabet.index(x)+13)%26]

def rot13(X):
text = ''
for i in range(len(X)):
if X[i] in alphabet:
text += rot(X[i])
elif X[i].lower() in alphabet:
text += rot(X[i].lower()).upper()
else:
text +=X[i]
return text
0783蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 22:15:39.12ID:8AaThHDM
お題: トマトの選別をするシステムを作ることになった。ほとんどのトマトは真っ赤で、カメラは照明下で無地のホワイトカラーを
背景に画像いっぱいにトマトを一個一個撮影する。赤くないトマトは不良品として除外したい。
一個のトマトを撮影した画像を入力とし、赤くない場合は0、赤い場合は1を返す判定プログラムを作れ。可能ならば、しきい値をいくつか調整できるようにせよ。
0784デフォルトの名無しさん
垢版 |
2020/06/01(月) 22:17:14.14ID:3YbOvSX5
>>782
pythonで作ってみた
>>781とくっつけたら出来る
import tkinter
from tkinter import messagebox

root = tkinter.Tk()
root.title("rot13")
root.geometry("360x360")
input_box = tkinter.Entry(width=40)
input_box.place(x=10, y=35)
input_label = tkinter.Label(text="英文字列を入力")
input_label.place(x=10, y=10)

def onClick():
messagebox.showinfo('結果',rot13(input_box.get()+'です。'))
button = tkinter.Button(text="rot13を実行",command=onClick)
button.place(x=10, y=65)

root.mainloop()
0785蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 22:37:04.21ID:8AaThHDM
お題: 何も乗ってない将棋盤の上のあるマスに一つだけ角を置く。将棋のルールで角の移動できる範囲を図示せよ。
0786蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 22:47:24.99ID:8AaThHDM
お題: 0〜9のアラビア数字が複数並んだ文字列が与えられる。統計して各数字の出現確率を小数点以下2桁の百分率で出力せよ。

入力例) 576985238557117185893588855965544756
0788蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/01(月) 23:05:22.83ID:8AaThHDM
お題:
1) 四則演算ができるシンプルな電卓プログラムP1を作れ。
2) 入力として計算式が与えられたら、P1を操作することでその式の値を計算するプログラムP2を作れ。
0789デフォルトの名無しさん
垢版 |
2020/06/01(月) 23:35:38.22ID:5NIHbXOS
まだ22歳の学生社長が得た、23億円の「使い道」
あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
中学時代の車いす生活から、17歳で起業するまで
https://www.advertimes.com/20200130/article306925/
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
0791デフォルトの名無しさん
垢版 |
2020/06/02(火) 11:04:10.47ID:WbBzC4+O
お題:モールス符号を復号化してください
短点 = "・"
長点 = "−"
区切り = " "

例)
入力
・・・・ ・ ・−・・ ・−・・ −−− ・−− −−− ・−・ ・−・・ −・・
出力
HELLOWORLD
0792デフォルトの名無しさん
垢版 |
2020/06/02(火) 11:07:50.40ID:WbBzC4+O
オンラインアルゴリズムで
0794デフォルトの名無しさん
垢版 |
2020/06/02(火) 23:40:40.58ID:k7tdZMdb
モールス信号のお題って、俺が前に出したことがあるような?
文字をモールス信号に変えるやつだったかな?
0798デフォルトの名無しさん
垢版 |
2020/06/03(水) 13:59:01.91ID:xCFh1cyu
お題:頂点数Vnと枝数Bnが与えられる。連結で合同でないグラフをすべて書き出せ。
0800デフォルトの名無しさん
垢版 |
2020/06/03(水) 15:01:27.78ID:MZUeYaEJ
IT掲示板群 ttp://x0000.net/forum.aspx?id=15
/\
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0

PS malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
0802デフォルトの名無しさん
垢版 |
2020/06/03(水) 16:02:27.51ID:KDlF+5RH
>>801 かっこいい
0804蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/03(水) 18:05:04.07ID:fRs9+Xkd
>>801
やるじゃん。君だったら、シミュレーションゲームのキャラも作れるどろう。
0806デフォルトの名無しさん
垢版 |
2020/06/03(水) 18:36:37.68ID:nPeEbGkA
趣味のプログラミングと義務のプログラミングは違うくね?
0809蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/03(水) 19:29:40.86ID:fRs9+Xkd
戦艦もののシミュレーションゲームとか作って、ゲーム会社に売り込んでみたら?
0812デフォルトの名無しさん
垢版 |
2020/06/03(水) 19:30:52.69ID:gDhd9/7G
久々に良いものを見た。
そういえばしばらく仕事以外のプログラミングから遠ざかっていたな...
0814デフォルトの名無しさん
垢版 |
2020/06/03(水) 22:36:49.52ID:7QwRlv8f
お題を出される方は当然自身の答えを持ち合わせてから出すんですよね?
答え合わせはどうだったのですか?
0815デフォルトの名無しさん
垢版 |
2020/06/03(水) 23:19:23.57ID:s2kYPv50
多分俺日本で一番技術力高いと思うわ
日本一になった今思うことは問題が簡単過ぎてつまらん。ライバルがいなくてつまらん
俺はいったい何をすればいいのか
0816デフォルトの名無しさん
垢版 |
2020/06/03(水) 23:21:04.09ID:X88w3U2P
Adobeのようにソフトを市場にうちだすんだ
あなたはお金を得られて嬉しい
ユーザーは高い技術がうみだした良い製品を使えて嬉しい
0817蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/03(水) 23:27:43.96ID:fRs9+Xkd
>>815
人工知能チップと人工知能ドライバーモデルを開発して人工知能OSを設計する。
0819デフォルトの名無しさん
垢版 |
2020/06/03(水) 23:32:03.80ID:s2kYPv50
お題:
説明変数に測定誤差が生じるとき最小二乗法は一致推定量とはならない
正しい尤度方程式を導出し最尤推定を行えば一致推定になるが、驚くべきことに測定誤差があるとき最尤推定は確率収束が最も早い推定にはならない
これをネイマン・スコット問題という
最も収束が早い推定にはどのようなものがあるかを述べ、実装を行え
0821デフォルトの名無しさん
垢版 |
2020/06/04(木) 11:03:46.04ID:fpPgT8jn
お題:
文脈依存文法を実装せよ
0823デフォルトの名無しさん
垢版 |
2020/06/04(木) 21:00:37.65ID:fpPgT8jn
>>822
ヒント:線形有界オートマトン
0825デフォルトの名無しさん
垢版 |
2020/06/04(木) 22:56:02.12ID:vLyTnEOS
>>795
お題:文字列を読み取って同じ構造のフォルダを作ってください
入力:
フグ亜目
├─マンボウ科
│ ├─ヤリマンボウ属
│ │ └─ヤリマンボウ
│ ├─マンボウ属
│ │ ├─ウシマンボウ
│ │ ├─マンボウ
│ │ └─カクレマンボウ
│ └─クサビフグ属
│   └─クサビフグ
└─ハリセンボン科
  └─ハリセンボン属
    └─ハリセンボン
0826デフォルトの名無しさん
垢版 |
2020/06/07(日) 00:53:20.20ID:Trgw7Kao
>>795
お題:ソートされたパスの一覧を構造化して出力してください
入力:
フグ亜目
フグ亜目\ハリセンボン科
フグ亜目\ハリセンボン科\ハリセンボン属
フグ亜目\ハリセンボン科\ハリセンボン属\ハリセンボン
フグ亜目\マンボウ科
フグ亜目\マンボウ科\クサビフグ属
フグ亜目\マンボウ科\クサビフグ属\クサビフグ
フグ亜目\マンボウ科\マンボウ属
フグ亜目\マンボウ科\マンボウ属\ウシマンボウ
フグ亜目\マンボウ科\マンボウ属\カクレマンボウ
フグ亜目\マンボウ科\マンボウ属\マンボウ
フグ亜目\マンボウ科\ヤリマンボウ属
フグ亜目\マンボウ科\ヤリマンボウ属\ヤリマンボウ

出力:
フグ亜目
  ハリセンボン科
    ハリセンボン属
      ハリセンボン
  マンボウ科
    クサビフグ属
      クサビフグ
    マンボウ属
      ウシマンボウ
      カクレマンボウ
      マンボウ
    ヤリマンボウ属
      ヤリマンボウ
0829540
垢版 |
2020/06/07(日) 03:37:39.04ID:Wd4DvZSU
>>826 Perl5

for (<DATA>) {
 chomp;
 @a = split/\\/;
 sub {
  $k = shift @a;
  $_[0]->{$k} = {} unless exists $_[0]->{$k};
  __SUB__->($_[0]->{$k}) if @a;
 }->(\%h);
}
sub ($s, $r) {
 for (keys %$r) {
  print "$s$_\n";
  __SUB__->($s.' ', $r->{$_})
 }
}->('', \%h);
__DATA__
フグ亜目
フグ亜目\ハリセンボン科
フグ亜目\ハリセンボン科\ハリセンボン属
フグ亜目\ハリセンボン科\ハリセンボン属\ハリセンボン
フグ亜目\マンボウ科
フグ亜目\マンボウ科\クサビフグ属
フグ亜目\マンボウ科\クサビフグ属\クサビフグ
フグ亜目\マンボウ科\マンボウ属
フグ亜目\マンボウ科\マンボウ属\ウシマンボウ
フグ亜目\マンボウ科\マンボウ属\カクレマンボウ
フグ亜目\マンボウ科\マンボウ属\マンボウ
フグ亜目\マンボウ科\ヤリマンボウ属
フグ亜目\マンボウ科\ヤリマンボウ属\ヤリマンボウ
0832540
垢版 |
2020/06/07(日) 11:06:41.99ID:SSw/Xffq
>>830 ハイハイ、修正修正

use feature qw{current_sub signatures};
for (<DATA>) {
 chomp;
 @a = split/\\/;
 sub ($hr) {
  $k = shift @a;
  $hr->{$k} //= {};
  __SUB__->($hr->{$k}) if @a;
 }->(\%h);
}
sub ($s, $r) {
 for (sort keys %$r) {
  print "$s$_\n";
  __SUB__->($s.' ', $r->{$_});
 }
}->('', \%h);
__DATA__
フグ亜目
フグ亜目\ハリセンボン科
フグ亜目\ハリセンボン科\ハリセンボン属
フグ亜目\ハリセンボン科\ハリセンボン属\ハリセンボン
フグ亜目\マンボウ科
フグ亜目\マンボウ科\クサビフグ属
フグ亜目\マンボウ科\クサビフグ属\クサビフグ
フグ亜目\マンボウ科\マンボウ属
フグ亜目\マンボウ科\マンボウ属\ウシマンボウ
フグ亜目\マンボウ科\マンボウ属\カクレマンボウ
フグ亜目\マンボウ科\マンボウ属\マンボウ
フグ亜目\マンボウ科\ヤリマンボウ属
フグ亜目\マンボウ科\ヤリマンボウ属\ヤリマンボウ
0834デフォルトの名無しさん
垢版 |
2020/06/11(木) 14:12:11.60ID:JaXQwSJJ
お題: 年月日の日付が YYYY-MM-DD 形式の文字列(2020-06-11 など)で与えられるので、その日付から月の第何週か、及び第何曜日(第2月曜日、など)かを求める。

月の第何週かを求める場合、週の初めの曜日が日曜日と月曜日で違う答えになるが、これは両方を求めて分かるように二つ出力しても良いし、片方だけでも良い。

ヒント: Kotlin 7 スレの43。ただしこのヒントはほとんど答えなので自分で考えて解きたい人は見ない方が良い。
https://mevius.5ch.net/test/read.cgi/tech/1588748438/43
0835デフォルトの名無しさん
垢版 |
2020/06/11(木) 15:10:12.05ID:uw9o5i7Q
お題: 表面積が1平米である凸八面体のうち、体積が最大となる立体について、その体積の値を15桁以上の精度で計算せよ。
0843デフォルトの名無しさん
垢版 |
2020/06/11(木) 20:45:21.07ID:oURmdayc
冷やっこ食ってて思ったんだけど
一辺が41cmの立方体の
表面積が 41×41×6=10086cm^2なので
角っこの頂点2ヶ所を
ちょんちょんって切り落とした立体なら八面ではあるって事かな?
三角錐二個の部分の表面積計算めんどくさそう
0844デフォルトの名無しさん
垢版 |
2020/06/11(木) 22:59:47.78ID:V9gAJWn9
1÷√√34992=0.0731152229418051367121788278776110586200…
これより大きいものをとりあえず見つける方針で
0847>>843
垢版 |
2020/06/12(金) 05:02:56.70ID:V6O8I1+o
>>843
コナミ音ゲーのビートストリームの箱猫にゃん
みたいのは難しいので中学生が電卓で出来るレベルで
立方体から直方体切り出しの六角柱で考える
https://i.imgur.com/Mjl42Cr.jpg

表面積約1平米の凸六面体の最大体積は?

まず一辺wが41cmの立方体の表面積w×w×6=10086[cm^2]
10086から86を引き算して10000に近づけます
do-whileループでxを求める
do{
a=10086-(x*x*2);
x+=0.00001;
}while(a>10000);
直方体切取幅x=6.557449999920918[cm]
切取直方体上下部分だけの表面積x×x×2=86.0000387051257[cm^2]

凸六面体(六角柱)の表面積=
9999.999961294874[cm^2]≠約1平米

元の立方体の体積41^3=68921[cm^3]

切取った直方体の体積x×x×w=1763.0061705599765[cm^3]

凸六面体(六角柱)の体積は
41^3-(x×x×w)=67157.99382944002[cm^3]
≒0.06715799382944002[m^3]
15桁以上
1割るルートルート34992ってなんだろう?
0851デフォルトの名無しさん
垢版 |
2020/06/12(金) 08:48:13.07ID:2niDl6+V
最大じゃないのは私も人の事を言えないので...

>>845が合ってるか間違ってるか
だけ教えていただけると
0853デフォルトの名無しさん
垢版 |
2020/06/12(金) 11:36:58.81ID:haT7GszX
>>851
値は15桁まで合ってると思いますよ。

プログラムのお題なんでコードを載せていただけると幸いですが。
何らか組んだんですよね?
0860デフォルトの名無しさん
垢版 |
2020/06/12(金) 18:47:56.69ID:kFexpNJ3
>>826
Ruby で

text = <<'TEXT' # \ を解釈しない
フグ亜目
フグ亜目\ハリセンボン科
フグ亜目\ハリセンボン科\ハリセンボン属
フグ亜目\ハリセンボン科\ハリセンボン属\ハリセンボン
フグ亜目\マンボウ科
フグ亜目\マンボウ科\クサビフグ属
フグ亜目\マンボウ科\クサビフグ属\クサビフグ
フグ亜目\マンボウ科\マンボウ属
フグ亜目\マンボウ科\マンボウ属\ウシマンボウ
フグ亜目\マンボウ科\マンボウ属\カクレマンボウ
フグ亜目\マンボウ科\マンボウ属\マンボウ
フグ亜目\マンボウ科\ヤリマンボウ属
フグ亜目\マンボウ科\ヤリマンボウ属\ヤリマンボウ
TEXT

text.each_line.inject( [ ] ) do | prev, line | # 1行ずつ処理する
line.chomp! # 末尾の改行を削除する
words = line.split( "\\" )

words.zip( prev ).each_with_index do |ary, idx|
if ary[ 0 ] != ary[ 1 ] # 1つ前の要素と、異なっていたら
puts "  " * idx + ary[ 0 ] # インデント
break
end
end

words
end
0862デフォルトの名無しさん
垢版 |
2020/06/12(金) 19:41:47.16ID:ywP+aDtr
0.07434486809322999110989619368561104639139465256280075733904874421666917664911993460556242342418454035329397732967289108376252183488881295875664070934129575634827025621624683049348057877455258195173727352356013738382644505372784969303844994902036116602401810098334065219605813513311533511174260033990459633153548001338432276618035960031832154258304694684989102438831680515365572871146875031327576991273892059152446734535128273692394822907010528329236904909366291990338992899295703583566824654618008406013296199027300917662863617783075767465771504776626571228664315942541587700314169499095063254202509152441676340208925338471982724370712866011599553438930619611265418988185782338154673314730488687674137034907531619005947724301353643581914084747714077649289547685930833278053943700887036591347108420548965969583488831450816524757283812848039192907796866305854763801905888387806167102792468923
0866デフォルトの名無しさん
垢版 |
2020/06/12(金) 20:54:30.86ID:H09Mliia
>>864
scalarを自作8192bit floatライブラリにして計算しました
全部はれなかったのではれたぶんだけ
探索方法は全く同じです
頂点座標は体積最大値の半分くらいの桁数で求まるようです

今回は速度が問題にならなかったので力業のままで

8面体は自力で面の構成を考えたけど
9面以上はコンピューターに考えさせないとキビシイかな?
0868デフォルトの名無しさん
垢版 |
2020/06/12(金) 21:12:57.61ID:6LTYSgwt
>>867
はヘェ〜スゲーな〜
どんな勉強したらこんなの解けるんだろ
理屈の解説は>>861のコードを読み解くしか無いですかね?
頂点を求める考え方や手順の解説お願いします。
0869デフォルトの名無しさん
垢版 |
2020/06/12(金) 21:20:14.56ID:ywP+aDtr
6角柱がハズレだとわかった後
6分で思い付いた形
すごいでしょ?
さすが数オリ経験者の東大数学科卒
0870デフォルトの名無しさん
垢版 |
2020/06/12(金) 22:01:32.78ID:6LTYSgwt
>>869
>840-841は6分かも知れないけど
出題から3時間後>>837で答えてるのは
答えを知ってたのでは?
何処で習うんだか、というか有名な立体でプラトンとか名前付いてたりするんかな
0871デフォルトの名無しさん
垢版 |
2020/06/12(金) 22:38:07.50ID:haT7GszX
>>866
>8面体は自力で面の構成を考えたけど
>9面以上はコンピューターに考えさせないとキビシイかな?

そうねえ。
面の構成まで計算できたら汎用性があっていいし、何より「本当にコレで最大なのか?」ってとこで悩まなくてもいいですね
0873デフォルトの名無しさん
垢版 |
2020/06/13(土) 09:06:18.02ID:AV9cNEOe
私にもファンが出来たか
5か月前の書き込みを覚えていてくれるとは

では次5か月後にあらわれます
0875540
垢版 |
2020/06/13(土) 11:52:25.11ID:P7Ehsk1I
>>834 Perl5、こういうプログラムでは日にち曜日計算を自分で考える前に、いつも使っているモジュールの利用をすぐ思い浮かんでしまう

for (qw{02 03 07 10 14 17 21 24 28 30 31}) {
 $date = "2020-05-$_";
 $t = Time::Piece->strptime($date, '%Y-%m-%d');
 $n = 1 + int($t->mday / 7);
 $dw = $n . $t->day(qw{日 月 火 水 木 金 土});
 $t1 = $t - ONE_DAY * ($t->mday - 1);
 $wk = 1 + int(($t->mday + $t1->_wday - 1) / 7);
 print "$date: 第$wk週目の第$dw曜日です。\n";
}

実行結果
~ $ perl 17_834_date_week_day.pl
2020-05-02: 第1週目の第1土曜日です。
2020-05-03: 第2週目の第1日曜日です。
2020-05-07: 第2週目の第2木曜日です。
2020-05-10: 第3週目の第2日曜日です。
2020-05-14: 第3週目の第3木曜日です。
2020-05-17: 第4週目の第3日曜日です。
2020-05-21: 第4週目の第4木曜日です。
2020-05-24: 第5週目の第4日曜日です。
2020-05-28: 第5週目の第5木曜日です。
2020-05-30: 第5週目の第5土曜日です。
2020-05-31: 第6週目の第5日曜日です。
0876540
垢版 |
2020/06/13(土) 14:11:48.60ID:+1OrBM6u
>>875
先頭に
use Time::Piece;
use Time::Seconds;
が抜けてたてorz
0878デフォルトの名無しさん
垢版 |
2020/06/14(日) 16:08:51.18ID:uU7ZglUF
お題
フィボナッチ数列のN番目の項を求めよ。
ただし非常に大きなNにも対応するために計算量をO(logN)に抑える事。
0880デフォルトの名無しさん
垢版 |
2020/06/14(日) 16:56:58.68ID:ajoLWV+R
>>878 perl
use bigint;

$ap = $am = $bp = $b0 = 1;
$a0 = $bm = 0;

for($m = $N = $ARGV[0]; $m ;$m /= 2) {
($ap, $a0, $am) = ($ap * $bp + $a0 * $b0, $ap * $b0 + $a0 * $bm, $a0 * $b0 + $am * $bm) if $m % 2;
($bp, $b0, $bm) = ($bp * $bp + $b0 * $b0, $bp * $b0 + $b0 * $bm, $b0 * $b0 + $bm * $bm)
}
print "F_$N = $a0\n";
0882デフォルトの名無しさん
垢版 |
2020/06/14(日) 17:10:27.96ID:ajoLWV+R
>>878 Perl
# 簡略化
use bigint;

$am = $b0 = 1;
$a0 = $bm = 0;

for($m = $N = $ARGV[0]; $m ;$m /= 2) {
$a0b0 = $a0 * $b0;
$b0b0 = $b0 * $b0;
($a0, $am) = ($a0b0 + $am * $b0 + $a0 * $bm, $a0b0 + $am * $bm) if $m % 2;
($b0, $bm) = ($b0b0 + 2 * $b0 * $bm, $b0b0 + $bm * $bm)
}
print "F_$N = $a0\n";
0884蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/14(日) 17:41:46.79ID:fnlUHuFp
>>881 C++/Win32
#include <windows.h>
#include <urlmon.h>
#include <stdio.h>

int main(void)
{
CoInitialize(NULL);
HRESULT hr = URLDownloadToFileA(NULL,
"http://google.com/robots.txt";,
"robots.txt",
0,
NULL);
if (SUCCEEDED(hr)) puts("OK");
else puts("No good");
CoUninitialize();
return 0;
}
0885デフォルトの名無しさん
垢版 |
2020/06/14(日) 17:45:17.97ID:ajoLWV+R
なおNが大きくなると扱う数の桁数がNに比例して増える
よって>>882の乗算の回数はO(logN)であるが、
計算量はO(logN)に抑えることはできない
おそらくO(N^2)とか、乗算を効率化してもO(N*(logN)^2)あたりではないか
0887デフォルトの名無しさん
垢版 |
2020/06/15(月) 03:05:29.95ID:7TtRjdEi
お題: (835の類題)表面積が1平米である九面体のうち、体積が最大となる立体について、その体積の値を15桁以上の精度で計算せよ。

※ 立体の形状をあらかじめ限定しないアルゴリズムがあればなお良い。
0890デフォルトの名無しさん
垢版 |
2020/06/15(月) 03:55:40.44ID:MkSPN7gS
>>881
Kotlin script

java.net.URL("https://google.com/robots.txt";).openConnection().inputStream.bufferedReader().lineSequence().forEach(::println)

script じゃなくてもほぼ同じ。main() の中に入れるだけ。
0892540
垢版 |
2020/06/15(月) 21:52:43.85ID:rjrfpKII
>>881 Perl5

use LWP::Simple;
use LWP::Protocol::https;
print mirror('https://google.com/robots.txt', './robots.txt'), "\n";


実行結果
~ $ perl 17_881_https_mirror_robots_txt.pl
200
~ $ ls -o robots.txt
-rw-r--r-- 1 user 7035 Jun 9 03:00 robots.txt
0893デフォルトの名無しさん
垢版 |
2020/06/19(金) 07:19:50.29ID:sd/vvo+p
>>659
https://ideone.com/dJhsj8
10日以上回してようやく229の次が出た
先頭から30個は以下。A098044 の記載とも一致
7, 13, 19, 37, 43, 79, 163, 223, 229, 608981812891, 608981812951, 608981812993, 608981813507, 608981813621, 608981813819, 608981813837, 608981813861, 608981813929, 608981813941, 608981814019, 608981814143, 608981814247, 608981814823, 608981814829, 608981815027, 608981815051, 608981815069, 608981816791, 608981816803, 608981816893
0894デフォルトの名無しさん
垢版 |
2020/06/19(金) 07:48:33.21ID:fUKeUVUY
>>893
VPSは10コアぐらい使いましたか?
それにしても興味深い
0895デフォルトの名無しさん
垢版 |
2020/06/19(金) 19:45:31.37ID:sd/vvo+p
>>894
いや、コード見てもらったらわかるようにシングルスレッドです。
工夫して並列化したらコアの数だけ高速化できる余地はあるので
誰かやってみてほしいですよ。

計算を続けると6千億台に1万個以上解が見つかります。
0901デフォルトの名無しさん
垢版 |
2020/06/19(金) 22:02:05.91ID:eY6TPFbX
6000億ちょっとの要素数の配列を扱います
0902デフォルトの名無しさん
垢版 |
2020/06/19(金) 23:21:23.40ID:f1v5pXiA
エラとステネスの篩はビット単位で判定させれば8分の1の要素数で済む
もっと効率化すれば32分の1くらいになったはず
まぁそれでも億単位の要素を使うわけだけど
0904デフォルトの名無しさん
垢版 |
2020/06/20(土) 01:08:51.20ID:0ygWeZMr
>>893
そのまま解を検索してみたけど、610968213803 から先は解が見つからなくなった
次はいくつになるかをお題にしてもいいかもね
0905デフォルトの名無しさん
垢版 |
2020/06/20(土) 01:10:45.21ID:MHLwREvd
ほとんどの6000億幅が取れない人は、"区間ふるい"で.

「1億の6千回」か「10億の600回」でやるのが現実的(平方分割的感性が必要?)
実際に1億でやってみたら、2時間ほどかかった。

ideonは時間の関係で1億配列にして、
最初と(ログから)最後の1億をやっている。
https://ideone.com/Ikn4qW
0906デフォルトの名無しさん
垢版 |
2020/06/20(土) 01:11:48.05ID:0ygWeZMr
>>896
いや
篩も試してみたけどやっぱりBPSW法が速かったよ
それと単純に割り算の繰り返しで試すより面白そうだったってのもある
0907蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/06/20(土) 05:31:40.42ID:vazH2EW2
お題: 整数を記入可能な空欄の横3×縦3マスが格子状に並んでいる。左からh+1番目で上からk+1番目のマスに書かれている整数を「C(h, k)」と表すことにする。
ただし、空欄のときやマスの範囲外の場合は「C(h, k)」はゼロとする。
C(h, k)の位置に整数mを鉛筆で記入する手続きを「P(h, k, m)」と表すことにする。
手続きにおいてはC(h, k)は入れ子を許し、演算子+と-は通常の足し算と引き算を意味するものとする。

(1) 次の手続きのリストを順に実行し、結果を表示せよ。

P(0, 0, 1), P(1, 0, C(0, 0)+2), P(2, 0, C(1, 0)-1),
P(C(1, 0)-1, C(0, 0)+C(2, 0)-2, 5), P(2, 2, C(2, 1)-2).

空欄はゼロで表すものとする。
0909デフォルトの名無しさん
垢版 |
2020/06/22(月) 17:19:16.03ID:GQVtnPwK
お題: CSVをパースせよ


入力:
1,abc,"def
ghi",4
2,abc,"def
ghi",4

出力:
[[1, "abc", "def\nghi", 4], [2, "abc", "def\nghi", 4]]
0911デフォルトの名無しさん
垢版 |
2020/06/24(水) 19:12:10.98ID:q+GJbQMN
>>887
60面体まで出来ました

60面体にもなると
5角形と6角形だけからなるものだけでも
極大点が10個以上にもなって
本当に最大が探せてるのかいまいち確信は持てないんですが...

収束は速いので形の概要が分かれば高精度化は簡単です

14面体以上は全て
5角形が12面、残りが6角形の多面体が最大です
0912デフォルトの名無しさん
垢版 |
2020/06/25(木) 04:19:24.67ID:tNtWnOVb
お題:多面体の面の構成を、以下のルールに従う面列で表現する。
頂点のリストで表現された面の集合(例:正四面体なら {[1,2,3],[1,3,4],[1,4,2],[4,3,2]})で多面体が与えられたとき、
それに対応する多面体の面列表現を出力せよ。

1. 3〜9角形の面の表現を t,q,p,x,h,o,n とする。10角形以上の面がある場合はエラーとしてよい。
2. 適当な面を選び、その面の表現をまず面列の先頭に置く。
3. 選ばれていない面が残っている場合は、それまでの面列の後にハイフンを置き、続けて、既に選ばれている面の外周に接する面を順に列挙する。
  選ばれていない面がなくなるまでこのプロセスを繰り返す。
4. ハイフンの前後の面列の、それぞれ先頭の文字に対応する面は、互いに接しているものを選ぶ。
5. ハイフンで区切られた面列に、pppp のように繰り返し部分がある場合は、p4 のように繰り返し回数を数字で表す。
  繰り返しの対象が単一の面でない場合は対象の前後に括弧を置く。この括弧は入れ子にできる。(t(xp)2)2 = txpxptxpxp
  (この括弧の中にハイフンを含めることはできない)
6. 可能な表現が複数ある場合は、表現に含まれるアルファベットの個数が最も少ない表現を採用する。

例) 三角錐: t-t3, 六角柱: x-q6-x, 正十二面体: p-p5-p5-p
  切頂二十面体(サッカーボール形): p-x5-(xp)5-(px)5-x5-p
0914デフォルトの名無しさん
垢版 |
2020/06/25(木) 08:13:21.29ID:XUZZkb7Y
だね
トポロジー的に球面限定だし
その限定でも
4. が複数可能性があるから
>>912の表現では一意に決まらない
0915デフォルトの名無しさん
垢版 |
2020/06/25(木) 08:24:29.35ID:C/HPxaHa
>>909
これってエクセープサれた改行文字で渡されるのが標準的じゃない?
規格としてあるのかわからないけど
0917デフォルトの名無しさん
垢版 |
2020/06/25(木) 10:55:47.65ID:fOnLoXil
最初から区切り文字をエスケープする方法まで決まっていたらxmlなんて出てこなかったかもな
0918デフォルトの名無しさん
垢版 |
2020/06/27(土) 03:45:36.69ID:PxUOhUZY
>>911
面の数が可変のものを作ってしまったか・・・
20面体、32面体、42面体、72面体あたりが面白い形状だと思うよ
0919デフォルトの名無しさん
垢版 |
2020/06/27(土) 07:33:34.74ID:TsX0h7IG
14面体以上は全て5角形6角形のみで
あまり面白くない
対称性が良いか悪いかだけ

現在82面体
手抜きで一部計算オーダーが非常に悪い所があって進まなくなってきた
(面数の5乗オーダー)
100面まで到達するにはコードを変えないとダメかも
0920デフォルトの名無しさん
垢版 |
2020/06/27(土) 16:25:32.02ID:PxUOhUZY
対称性が良ければ良いほど最大解となるかというとそうではない
八面体の解をみてもそれはわかるし
四十二面体の対称性の高いのは切稜十二面体だと思うが、解はそれとは違う

面の数の5乗というのは総当たりをしているのかな
高速化するには焼きなまし法等を使うといいのかと思うがどうやるんだろう
0921デフォルトの名無しさん
垢版 |
2020/06/27(土) 22:18:45.29ID:TsX0h7IG
1面少ない体積最大の立体から1面足した形を探索
なので最大が突然変異すれば最大を見逃すかもしれない
ランダムよりは効率が良さそう

構造計算のオーダーが4乗
ここはおそらく2乗くらいに減らせると思う

極大の収束は良くある微分を使うやつ
収束時も毎回構造計算してるけど
(ほぼ)同じ構造であるのでオーダーは1乗に減らせる
0922デフォルトの名無しさん
垢版 |
2020/06/27(土) 22:21:59.32ID:TsX0h7IG
形自体はもう面白くないので
改善はしないかも

むしろ体積が小さい極大の方がいろんな形になって面白い
0923デフォルトの名無しさん
垢版 |
2020/06/28(日) 05:11:29.32ID:pVjwcc2f
>>921
数値はこれと同じ?
9    0.076898933926867766
10   0.078734752898039751
11   0.080055026399577983
12   0.08168837182418255218049
13   0.082432267303420834
14   0.083349245941114841
16   0.084742718358283536
17   0.085264872589057683
20   0.086626966830007951
32   0.089493100466131958
33   0.089603827451613424
42   0.090574499972086386
0928デフォルトの名無しさん
垢版 |
2020/07/01(水) 17:33:04.53ID:S7tqJ4vi
>>925
$ cc hw.c && ./a.out
Hello, World!
$ bash hw.c
Hello, World!
$ perl hw.c
Hello, World!
$ cat hw.c

#if 0 /*
/ 2>\/dev\/null
print() {
echo Hello, World!
}
2>\/dev\/null /;
#*/
#endif
#include <stdio.h>
#define print main() { printf ("Hello, World!\n"); } char *p =
print "Hello, World!\n";
0929デフォルトの名無しさん
垢版 |
2020/07/01(水) 19:07:27.63ID:QxhyVLlq
>>925 面白いね。俺の回答はつまらんけど

$ cat hello_world
print("Hello World!")'

$ruby hello_world
Hello World!

$perl hello_world
Hello World!

$python hello_world
Hello World!
0931デフォルトの名無しさん
垢版 |
2020/07/02(木) 12:21:40.12ID:4foKXCae
あ,い
1,2
2, 3

[
{ "あ": 1, "い": 2 },
{ "あ": 2, "い": 3 }
]
とかじゃないんだな
❯ node
> const csv2json = text => text.trim().split('\n').map(line => line.split(','))
undefined
> text = `
あ,い
1,2`
> csv2json(text)
[ [ 'あ', 'い' ], [ '1', '2' ] ]
0932930
垢版 |
2020/07/03(金) 09:48:22.31ID:hVBUXcHj
CSV は、ヘッダー行なしの設定です!
0934デフォルトの名無しさん
垢版 |
2020/07/05(日) 05:09:15.05ID:w1OPzoRS
>>930
sh というか awk というか

( echo あ,い ; echo 1,2 ) | awk -F, 'BEGIN{print "["} { printf "[\"%s\"", $1; for (i = 2; i <= NF; i++) printf ",\"%s\"", $i; print "]"} END{print "]"}'
0935デフォルトの名無しさん
垢版 |
2020/07/05(日) 05:13:48.20ID:w1OPzoRS
>>930
>>934はレコードごとのカンマが抜けてた。ちょっと修正。

( echo あ,い ; echo 1,2 ) | awk -F, 'BEGIN{print "["} {if(NR>1)print","; printf "[\"%s\"", $1; for (i = 2; i <= NF; i++) printf ",\"%s\"", $i; printf "]"} END{print "\n]"}'
0937デフォルトの名無しさん
垢版 |
2020/07/05(日) 22:13:54.68ID:HPvgh2UL
>>909
>>930
何気にPythonの仕様が気になったので。
import csv
import io
import json

with io.StringIO("""
1,abc,"def
ghi",4
2,abc,"def
ghi",4
""") as f:
__print([r for r in csv.reader(f) if r])

with io.StringIO("""
あ,い
1,2
""") as f:
__print(json.dumps([r for r in csv.reader(f) if r], ensure_ascii=False))
0938デフォルトの名無しさん
垢版 |
2020/07/10(金) 21:08:49.94ID:+HNczGHj
お題:"チューリングマシン"を使って一行CSVパーサーを作る
チューリングマシンも自作すること
【CSVの仕様】
・カラム値は「a」、「,」、「"」、の組み合わせ、または「」(値無し)しか取らない
・カラム値に「,」が含まれる場合は「"」で囲む必要がある、含まれない場合はどっちでもいい
・カラム値に「"」が含まれる場合は「\"」とエスケープする
入力例) "aa,a",aa,,"aa\"aa"
チューリングマシンからの出力例、Pythonの場合) [None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
(Noneは無視、'X'は区切りポイントを表している)
【開発規模】Pythonで15行程度
0941デフォルトの名無しさん
垢版 |
2020/07/11(土) 11:50:41.57ID:60oNEnIZ
正方形の面積を求める問題に対して
この世に正方形なんて存在しないから求められません
とか言っちゃう系?
0942デフォルトの名無しさん
垢版 |
2020/07/11(土) 11:51:57.60ID:KPNFpi8s
比喩がとんちんかんだぞ
今回は「チューリングマシンも自作すること」って明言されてますやん
0946デフォルトの名無しさん
垢版 |
2020/07/11(土) 12:00:00.07ID:60oNEnIZ
別に無限にメモリがある必要は無いけど
実際に動くどんなプログラムにも限界がある
0950デフォルトの名無しさん
垢版 |
2020/07/11(土) 12:13:26.90ID:6CWHpJ6z
>>938の生成言語
CSV → COL | COL ',' CSV
COL → '"' WCOM '"' | NCOM
WCOM → ε | 'a' WCOM | ',' WCOM | '\' '"' WCOM
NCOM → ε | 'a' NCOM | '\' '"' NCOM
状態セル10個前後でいけそう
0951デフォルトの名無しさん
垢版 |
2020/07/11(土) 12:46:36.38ID:6CWHpJ6z
>>938 Perl 状態セル4個
$ cat input
"aa,a",aa,,"aa\"aa"
$ perl odai938 < input
[None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
$ cat odai938

%maton = (
'N' => { 'a' => ['N', q('a')] , ',' => ['N', q('X')] , '"' => ['Q', q(None)] , '\\' => ['E', q(None)] },
'Q' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['N', q(None)] , '\\' => ['F', q(None)] },
'E' => { 'a' => ['N', q('a')] , ',' => ['N', q(',')] , '"' => ['N', q('"') ] , '\\' => ['N', q(None)] },
'F' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['Q', q('"') ] , '\\' => ['Q', q(None)] },
);

@res = ();
$state = 'N';
for $c ( split //, <> ) {
($next, $out) = @{$maton{$state}{$c}};
last unless defined $next;
push @res, $out;
$state = $next;
}
printf "[%s]\n", join ', ', @res;
0953デフォルトの名無しさん
垢版 |
2020/07/11(土) 13:14:56.54ID:JFnadz6+
オートマトンを使ってってことなのね、なるほど
0954デフォルトの名無しさん
垢版 |
2020/07/11(土) 13:56:56.88ID:R3MTOjCq
>>951
チューリングマシンを使っていないのでだめだ
そのオートマトンは文脈依存文法どころか文脈自由文法すら対応していない
これら全てに対応出来てこそチューリングマシンだ
(このことは将来エラーリカバリーを考える上で、重要になると思っている)
つまりテープヘッドは左右に動き状態関数でそれを指示出来る(文脈自由文法に対応)
チューリングマシンは受理状態を指定出来る

今回、状態の数は受理状態を省略して5個でいける(もっと少なく出来るかもしれんが)
状態関数は状態5*記号4のマトリックスを考えて、その中の12個を埋めればいい
0955デフォルトの名無しさん
垢版 |
2020/07/11(土) 16:08:31.89ID:R3MTOjCq
訂正
×状態関数
◯状態遷移関数
0959デフォルトの名無しさん
垢版 |
2020/07/11(土) 17:09:33.35ID:R3MTOjCq
>>958
どこがおかしい?
線形有界オートマトンといえば納得するか?
そんな言葉使わなくても実装出来る
と言うかこのスレにこの言葉知ってる奴いないだろ
0961デフォルトの名無しさん
垢版 |
2020/07/11(土) 17:53:42.33ID:60oNEnIZ
チューリングマシンの設計じゃなくて
チューリングマシンエミュレーターの設計だよな
0962デフォルトの名無しさん
垢版 |
2020/07/11(土) 18:17:04.37ID:R3MTOjCq
>>951
\aやらを認めてるのが気になるがそれを直したら遷移関数はあってるな
後はチューリングマシンとして完成させるだけ
俺の遷移関数に冗長があったから直したら一致した
>>960
HTMLは文脈自由文法だが
WebKitのHTMLパーサーは非文脈自由文法として実装されている
そこでチューリングマシンが有用かはさせおき、非文脈自由文法を考えるキッカケになることもある思う
>>961
エンドマーカーを省略した線形有界オートマトンの実装な
0964デフォルトの名無しさん
垢版 |
2020/07/11(土) 20:23:08.26ID:feKeXoV6
そういやチューリングってゲイだったんだってね。
0965デフォルトの名無しさん
垢版 |
2020/07/11(土) 20:30:57.47ID:JFnadz6+
イミテーション・ゲームという映画が面白かった
キーラ・ナイトレイ美しすぎ
0967デフォルトの名無しさん
垢版 |
2020/07/13(月) 10:36:22.79ID:0ATtS2UF
お題
日本将棋連盟のサイトにあるレーティングで
AとBが対戦してAが勝った場合のA、Bの
新しいレーティングを求める。
0969デフォルトの名無しさん
垢版 |
2020/07/13(月) 17:09:42.48ID:aaJV9hNQ
解答を持ちあわせていて、ただドヤりたいだけのスレなのに?
解答期限をつけるべきだと思う
0971デフォルトの名無しさん
垢版 |
2020/07/13(月) 21:28:01.53ID:UGEHS+NK
イロレーティングの実装ってことでいいのかな?
だとするとあまりに簡単すぎないか?
漢字覚えるのに上からなぞるだけみたいな問題だと思った
考える要素が皆無でもこのスレの趣旨に反しないのか?
現にイロレーティングの実装なんかググったらすぐ見つかるわけだし。
そんなんでもいいんだったらいくらでも出せる。組合せ最適化問題の本に書かれているのそのまま出せばいいわけだし。
後、入力が何で出力が何で、どれくらいで実装できるものか書いてくれたら分かりやすくなると思う
0972デフォルトの名無しさん
垢版 |
2020/07/13(月) 21:54:58.06ID:nR5el41K
結果後の数値出すだけだから2つの数値受け取って計算して出力するだけでしょ
三角形の面積を求めよ、と同じ問題
計算式知ってるか、ググれるかだけ
0973蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/13(月) 22:30:47.09ID:WwiIS8F6
お題: 九九の表の1×1〜9×9をSQLデータベースに書き出せ。
0974蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/13(月) 22:53:17.28ID:WwiIS8F6
お題: サイン関数の表をSQLテーブルに出力し、そのテーブルへのSQL問い合わせを使ってサイン関数を再現する関数を作れ。精度はテキトーで構わない。
0975デフォルトの名無しさん
垢版 |
2020/07/13(月) 23:56:34.26ID:UGEHS+NK
テイラー展開でいいの?
0977デフォルトの名無しさん
垢版 |
2020/07/14(火) 00:00:00.37ID:5rX6+9jh
>>974
出来たけど5chはSQLは貼れないのかな?w
間違ったSQLインジェクション対策なのかもw
0979デフォルトの名無しさん
垢版 |
2020/07/14(火) 00:08:30.45ID:5rX6+9jh
>>974
SQLはブロックされて貼れないけど3行で出来た
1. x、y、y_hatのカラムでテーブル作成
2. INSERT SELECT文とPGのgenerate_series関数を使ってxに乱数をINSERT
3 .UPDATE文でsin関数をyに、テイラー展開版sin関数をy_hatにINSERT
0982デフォルトの名無しさん
垢版 |
2020/07/14(火) 01:07:26.62ID:5rX6+9jh
>>973
やっぱりSQL貼れないねぇ

答え:PostgreSQLで確認
http://codepad.org/qGD8d2IU
※会員登録してないからそのうち消える
0983デフォルトの名無しさん
垢版 |
2020/07/14(火) 03:12:25.26ID:5rX6+9jh
>>974
これもしかしてサイン関数の表は荒いから補完法を使ってサイン関数を作れって意味だったのかなー
0985デフォルトの名無しさん
垢版 |
2020/07/14(火) 06:05:28.09ID:BHFrzCgy
>>973
mysql>CREATE DATABASE testdb;
mysql>use testdb;
mysql>CREATE TABLE tbl_kuku(
'1' int, '2' int, '3' int,
'4' int, '5' int, '6' int,
'7' int, '8' int, '9' int
) ;

mysql>load data local infile
"/Users/user/Desktop/kukutable.csv "
into table tbl_kuku
fields terminated by ','
optionally enclosed by '"';
0986デフォルトの名無しさん
垢版 |
2020/07/14(火) 06:24:26.46ID:5rX6+9jh
>>974
問題の意味がよく分からなかったけど、荒いsine関数表を元に補間法によって任意の値に対するsine関数を完成させろという意味なら出来た
PostgreSQL用
http://codepad.org/Z81nscIT
※会員登録してないからそのうち消える
0988デフォルトの名無しさん
垢版 |
2020/07/14(火) 07:41:02.95ID:i9nYbez+
>>974
mysql> delimiter //

mysql> CREATE FUNCTION SIN (angle DOUBLE )
-> BEGIN
-> SELECT angle FROM tbl_sin ;
-> END//

mysql> delimiter ;

mysql> SELECT SIN(45);
0989デフォルトの名無しさん
垢版 |
2020/07/14(火) 11:28:46.13ID:5rX6+9jh
>>938のお題は誰も解答しないの?
0993デフォルトの名無しさん
垢版 |
2020/07/14(火) 17:21:12.98ID:1/ePl1B5
>>991
解答締め切りと採点と答え合わせは?
ちゃんとフラグ回収してよね
0996蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/07/16(木) 05:51:13.84ID:Tv2xtriA
お題: 三次元タートルグラフィックスを実装し、森林・臓器・シェルピンスキーの立体ギャスケットのいずれかを描画せよ。
奥行きの表現には任意の遠近法か任意のレンダリングエンジンを使うこと。

【実装例】
walk(長さ) // 現在のペンの状態で現在の方向へ前進する
set_pos(x, y, z) // 位置をセット
pos = get_pos() // 現在位置を保存
set_dir(dx, dy, dz) // 方向ベクトルをセット
dir = get_dir() // 現在の方向を保存
turn(dx, dy, dz) // 向きを調整(方向ベクトルを回転)
pen_on() // ペンを下ろす(描画を開始)
pen_off() // ペンを上げる(描画を止める)
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 125日 4時間 41分 20秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況