プログラミングのお題スレ Part11

■ このスレッドは過去ログ倉庫に格納されています
2018/04/24(火) 20:45:14.49ID:ZY7R7Sru
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part10
https://mevius.5ch.net/test/read.cgi/tech/1514772904/

【出題と回答例】
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/

宿題は宿題スレがあるのでそちらへ。
2018/05/10(木) 16:30:45.02ID:qHVZoDSH
>>318で書いてみたけど
傾きの処理自体はC並みに速い
https://ideone.com/NWCyYW
2018/05/10(木) 16:47:50.18ID:Ulb5C2sT
そりゃあ
numpyの本体はC言語だしなぁ・・・
2018/05/10(木) 17:33:52.68ID:qHVZoDSH
本当は数値計算みたいにもっと速い命令を使ってくれるかなと期待してたんだけど
そういう上手くはいかなかった
322デフォルトの名無しさん
垢版 |
2018/05/10(木) 17:50:15.92ID:I+4Qxgba
>>281
Kotlin
https://paiza.io/projects/wLuen-HE27TC3lZo8QclPw
何を何枚使用するかの内訳も出るようにした。
323316
垢版 |
2018/05/10(木) 18:04:31.86ID:CLWEept/
>>275のコードで>>300のデータを
C版を計測したMacのChromeで計測してみた
結果は>>300と似たような数字で性能差はあまりなさそう

actions(256個)そのまま
37.972秒

最適化した URDLURDLU を使用
1.861秒
2018/05/10(木) 18:30:24.64ID:O+ANAa9X
じゃあArray版作るか…
思ったんだけどこれWebGLでGPU計算出来るかな?いやGPGPU向きの問題かどうかすら分かんないんだけど詳しい人いるかと思って。
2018/05/10(木) 20:41:39.42ID:CLWEept/
>>275
J

left =: (((#~-.),(#~))'.'&=)"1
right =: (((#~),(#~-.))'.'&=)"1
solve =: 3 : 0
:
if. (#x) = 0 do. y return. end.
action =. {. x
actions_left =. }. x
if. action = 'U' do. board =. |: left |: y
elseif. action = 'D' do. board =. |: right |: y
elseif. action = 'L' do. board =. left y
elseif. action = 'R' do. board =. right y
end.
actions_left solve board
)

Cシングルスレッド版の3.5〜6.6倍遅い
アクション(256個)そのまま
4.242秒
最適化した URDLURDLU を使用
0.161秒

https://%62it.ly/2rybKgZ
2018/05/10(木) 21:02:14.89ID:0yLDhGJt
Jが…Jがちゃんとプログラミング言語しとるw
2018/05/10(木) 21:44:01.34ID:CLWEept/
先頭2行のJらしい部分の解説

文字列を.と等しいか('.'&=)でマスク(#~)
(#~'.'&=) '..a.b' => '...'
その論理否定(-.)でマスク
((#~-.)'.'&=) '..a.b' => 'ab'
,で繋げる
(((#~),(#~-.))'.'&=) '..a.b' => '...ab'
これで右寄せ。反対に繋げれば左寄せ。

直感的で 読 み や す い
2018/05/10(木) 21:52:47.05ID:O+ANAa9X
えー直感ってなんだっけ…
2018/05/11(金) 02:07:15.57ID:9bxegKCD
第六感的に読みやすいな
330デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:11:54.49ID:bX5i+Zj+
2つの普通のサイコロを
面と面をくっつけて直方体を作る
何種類の異なる直方体ができるか?
回転して同じものは同じ種類とする
2018/05/12(土) 10:31:53.41ID:Hl4HQ1Ge
>>330 PHP
84
2018/05/12(土) 10:56:43.70ID:pDgCeBjY
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
ttp://photoshopvip.net/103903

ttps://goodpatch.com/blog/sketch-plugins/
2018/05/12(土) 11:33:58.65ID:R/twbybb
>>332
アフィ
2018/05/12(土) 12:19:44.55ID:QiJLTR+N
>>330
無限
335デフォルトの名無しさん
垢版 |
2018/05/12(土) 13:04:25.66
>>330
C言語
#include <stdio.h>
int main(){ printf("%d¥n", (6+5+4+3+2+1)*4); return 0; }
336デフォルトの名無しさん
垢版 |
2018/05/12(土) 13:50:20.72ID:UoMtV9Kh
>>330
直方体そのものは1つなのでは?各面に打ってある点の数は違うけど同じ直方体であることには変わりないよね。

などと言ってしまったら問題にならなくて全然面白くないので後で考えてみるよ。w
337デフォルトの名無しさん
垢版 |
2018/05/12(土) 15:39:30.07ID:TjVuoOYn
まず数学的に考えると、6面の内の一面がくっつくのでこれで6種で、更にくっ付けられる面が6面なので6倍。そして4回回転できるので更に4倍。しかし同じ値の面がくっついた時はお互いに回転させても同じのができるのでこれを引く。
とすると6*6*4-6*4=6*4*(6-1)=6*4*5=120でいいのかな。
338デフォルトの名無しさん
垢版 |
2018/05/12(土) 15:42:14.83ID:TjVuoOYn
ま、しかし、数学的に答え出しちゃったらプログラム作る意味なくなるような気がするので全パターン作って確かめるようなの作るか。
2018/05/12(土) 15:53:15.44ID:sI+Q43v8
>>337
なんか違う
2018/05/12(土) 15:57:15.26ID:KWlgK9zD
プログラム的な最適解って難しい
2018/05/12(土) 16:11:04.18ID:TD+PjePm
プログラムでやる意味がまったくないな
342デフォルトの名無しさん
垢版 |
2018/05/12(土) 17:25:20.83
>>337
1-1
1-2 2-2
1-3 2-3 3-3
1-4 2-4 3-4 4-4
1-5 2-5 3-5 4-5 5-5
1-6 2-6 3-6 4-6 5-6 6-6
すなわち (6+5+4+3+2+1)×4面
343KAC
垢版 |
2018/05/12(土) 17:50:27.68ID:7sNFtIfC
>>335
改行書くことすら惜しむくらいなら、「return 0;」省略すればいいのに・・・

>>338
そういうときはn面体に対するものにするとか、
m個くっつける場合のものにするとか、どこかの値を可変にすればいい。
344デフォルトの名無しさん
垢版 |
2018/05/12(土) 18:04:42.08ID:TjVuoOYn
>>339
そうか。何が違うのか今のところ俺にはわからない。

>>342
その説明の意味がわからない。何を表しているのか?
345デフォルトの名無しさん
垢版 |
2018/05/12(土) 18:38:44.14
>>344
くっついている面の組み合わせ(サイコロを2つ振って出る目と同じ)×4回転
346デフォルトの名無しさん
垢版 |
2018/05/12(土) 18:57:16.30ID:TjVuoOYn
>>345
あ、そうか。例えば1、6は6、1と同じか。
347デフォルトの名無しさん
垢版 |
2018/05/12(土) 19:09:45.48ID:TjVuoOYn
6*7/2*4=6*7*2=84てことだな。

じゃ、あとは無理矢理全パターン出して全件チェックするブルートフォースなプログラムでもゆっくり作るとするか。
348347
垢版 |
2018/05/13(日) 03:37:21.95ID:YKXy/MBP
散々考えて作ったプログラムで 96 と結果が出てしまい、何がどう間違ってるのか探すの面倒なのでとりあえず休止。
またその内気が向いたらやってみよう。
2018/05/13(日) 17:57:36.41ID:lW+v/TK4
よくある総当たり戦の試合数を求める問題の変形だろ
いくらなんでも算数レベルはさすがに・・・
2018/05/13(日) 19:10:48.15ID:IsC8XoQl
算数レベルだと不満があるみたいなので類題を
正五胞体の各面に1〜10の番号が振られたサイコロが2つある
2つの正五胞体の面を合わせて新たな多胞体を作るとき、
面の模様の組み合わせ合わせてを合わせて何通り作ることができるか求めよ
2018/05/13(日) 20:08:59.23ID:lW+v/TK4
面を合わせる操作で胞はどうなるんだろう
模範解答が欲しいな
2018/05/13(日) 20:10:50.40ID:cJXb3A6I
O(1)でない問題に挑みたい
2018/05/13(日) 20:28:41.70ID:hMSQZ6aL
無理だろ
問題のクラスがどこに属するかを確かめてから……ってのは
2018/05/13(日) 20:48:58.34ID:HhTyaKjT
出題者がわからなくてどうする
355デフォルトの名無しさん
垢版 |
2018/05/13(日) 22:02:39.26
出題者は学校の宿題をコピペしてるだけなんだからそんなの分かるわけないだろw
2018/05/13(日) 23:15:41.18ID:KchYOj5S
円周上の格子点を求めるプログラムをしこしこ作ってるが、
マルチスレッドで動かしたらPentium G6950とAtom x5-Z8350タブレットでほとんど変わらなくて(´・ω・`)
2018/05/13(日) 23:18:59.24ID:VV8A9gRv
どのお題?
358デフォルトの名無しさん
垢版 |
2018/05/13(日) 23:27:47.10ID:R9SlBBi+
これか



「自然数Nに対して、平面上の円で、その円周上の整数点がちょうどN個となる円の最小半径を求めよ」

例)
x^2 + y^2 = 1の整数点は4つだがN=4の最小半径ではない。

(x-0.5)^2 + (y-0.5)^2 = 0.5の方が小さい。 4点は(0,0) (1,0) (0,1) (1,1)
2018/05/13(日) 23:55:53.09ID:VV8A9gRv
ああ、自称数学が出来る人がアホな事を言ってたヤツだな

最小値は存在しないとか
最小値が存在する証明は簡単だとか言いつつまったく出来てなかったり
2018/05/13(日) 23:57:36.72ID:VV8A9gRv
全く解いてないけど
力業しか方法は無いのかな?

AVX512とかGPUとか使えたりする?
361KAC
垢版 |
2018/05/13(日) 23:59:19.53ID:n7+JE8gH
>>359
複数解があれば、その中で一番小さい物が最小値
という当たり前の定義に何か疑問でも?
2018/05/14(月) 00:04:15.31ID:1oWMeidW
まだ続けるのその話題?
2018/05/14(月) 00:07:14.94ID:1oWMeidW
>>361
最小値が存在するためにはいくつかの条件があって
その条件を全く考慮しないで「証明」と言い張ってたアホがいたと
まさか君じゃないよね?
2018/05/14(月) 00:12:43.39ID:pLvY6PGg
それより数学のセンセが複素指数関数をなんだか誤解しているのを何とか説き伏せたいのだけれども…
2018/05/14(月) 02:08:50.73ID:nPZzHRVa
>>364
多値関数のことを周期関数とか見当違いのことを言っていたあなたが何か言えることなんてあるんですか?
でこの話題まだ続けたいの?
2018/05/14(月) 03:17:23.56ID:UX/qtCoA
>>364
やるならよそで個人的にやってくれ
2018/05/14(月) 07:14:36.98ID:n+3GdDup
なんか最小値とかでよほど辛い目にあったんだろうなw
2018/05/14(月) 16:57:02.04ID:pLvY6PGg
>>365
続けます、今必死に
http://www.eng.niigata-u.ac.jp/~nomoto/2.html
を理解しようとしています、とてもつらいです、涙が知らず知らず頬を伝っているありさまです…
2018/05/14(月) 17:12:13.58ID:BXZtNaWp
せんせーともども数学板へどうぞ。
こいつら異世界転生もののアニメ見てそうだなワラ
2018/05/14(月) 21:15:20.93ID:1oWMeidW
数学の専門家が高見の見物
2018/05/14(月) 21:29:45.96ID:EDnTjcK4
仲間内じゃうだつが上がらないのかな、誉められたくてこんなとこまで来てチンコしごいてんのか気持ち悪い。
リアルで軽んじられてる理由が透けて見えるよ。ほんと迷惑な話。
2018/05/14(月) 21:36:42.92ID:LqzdTatP
>>369みたいなアニオタは巣から出てくるな 不快な上に真面目に気持ち悪いわ
373デフォルトの名無しさん
垢版 |
2018/05/14(月) 23:27:31.52ID:ByoIoZVn
お題
辺の長さと面の面積と体積の全てが整数である4面体を求める
2018/05/14(月) 23:35:45.52ID:D3cFptH9
>>368
もしかしてリーマン面とかも知らずに留数定理がどうのこうの言ってたのか?
厚顔無恥ってこのことだぜ
2018/05/15(火) 00:31:02.93ID:joZeDATc
>>374
素人が素人を笑う
目糞鼻糞
2018/05/15(火) 00:50:44.33ID:cUJCQZWv
>>375
言ってる事がよくわからないんだが?
もしかしてくやしいの?
2018/05/15(火) 01:12:11.74ID:/OJ/weUW
数学コンプがプログラミングに逃げたが
やっぱり数学からは逃れられなかっただけ
378デフォルトの名無しさん
垢版 |
2018/05/15(火) 02:50:42.43ID:cltBdwph
お題
(1) 入力された英数字([A-Z0-9])をモールス信号を表す文字列に変換する。大文字小文字は区別しない。
 記号は変換出来なくても良い。また数字の略体は不要。短点と長点には何の文字を使っても良いが、
 なるべく分かり易くするために「・」、「−」等にすること。

(2) (1)で作ったモールス信号を表す文字列の逆変換。

(3) 和文版の(1)と(2)

欧文、和文モールス符号については下記ページ参照
https://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%BC%E3%83%AB%E3%82%B9%E7%AC%A6%E5%8F%B7
2018/05/15(火) 03:49:05.69ID:76+B/frM
>>350
問題そのものとは関係ないかもしれんが正五胞体の面同士を重ねても通常の多胞体にはならないんじゃ
次元をひとつ下げればふたつの正四面体の辺同士を重ねる操作にあたるよね
2018/05/15(火) 06:03:50.51ID:4dx/yUcE
>>378 Ruby
(1) を wavで出力
https://ideone.com/uw0YFZ
2018/05/15(火) 07:41:42.24ID:joZeDATc
>>376
おれは数学の専門家だって
>>368>>374の低レベルなバトル楽しみにしてるよ
2018/05/15(火) 09:34:19.74ID:iN3NVkNj
その自称数学の専門家がなんでまたこんな場違いな板のスレに粘着してんの?
お前も実は数学コンプなんだろ
383デフォルトの名無しさん
垢版 |
2018/05/15(火) 09:38:30.52ID:Jeovbfag
もう数学問題に特化したお題スレ作った方が良いのでは?
384デフォルトの名無しさん
垢版 |
2018/05/15(火) 09:53:16.24ID:EjMHQE21
>>373
無い
2018/05/15(火) 11:30:36.04ID:CWT5ZUHq
>>382
趣味のプログラマーだから
数学的に面白いネタ探し

>>384
プログラムで書きなさい

printf("ない??n");
2018/05/15(火) 11:38:20.20ID:WUGOR4JP
プログラム板で文字化けさせてる人って
2018/05/15(火) 11:53:09.77ID:euWa7j5X
>>385
いちいちID変えてる時点でこいつが誰なのかすぐに分かってしまいますね
388デフォルトの名無しさん
垢版 |
2018/05/15(火) 11:53:29.05ID:s5avjWfm
全角の「ない」は化けていないのに不思議?不思議?
389デフォルトの名無しさん
垢版 |
2018/05/15(火) 12:43:26.80ID:hqwVUKF+
円マークかな?Unicodeだとバックスラッシュとはコードが違うよね。
390デフォルトの名無しさん
垢版 |
2018/05/15(火) 12:45:53.43ID:hqwVUKF+
前にLinuxの端末でバックスラッシュと円マークの両方が半角で普通に両方入力できて驚いたことがある。やっとまともになったのかとw
2018/05/15(火) 13:01:00.15ID:CWT5ZUHq
??
\
2018/05/15(火) 13:02:18.78ID:CWT5ZUHq
なぜ化ける
2018/05/15(火) 13:04:01.28ID:CWT5ZUHq
>>387
おれは誰なんだ?
ごくたまにしか書き込んで無いけど
2018/05/15(火) 13:05:37.32ID:CiGj6Ypo
datをバイナリエディタで見たら化けてる所は 0xfc 0xfc になってるが、なぜそれになるのかは知らん。
395デフォルトの名無しさん
垢版 |
2018/05/15(火) 13:26:15.15ID:hqwVUKF+
ていうかC言語等の文字のエスケープに使う文字は本来であればバックスラッシュだ。
円マークになってる入門書等が多い理由は歴史的な理由による。
どういう歴史的理由かは長くなるので省略。
2018/05/15(火) 13:58:57.23ID:CWT5ZUHq
中途半端な知識で語りたがりが多いな
数学といい文字コードといい
397デフォルトの名無しさん
垢版 |
2018/05/15(火) 14:59:41.39ID:anwetN0E
ま、これでも読め。
https://anopara.net/2016/03/06/%e5%86%86%e3%83%9e%e3%83%bc%e3%82%af%e3%81%a8%e3%83%90%e3%83%83%e3%82%af%e3%82%b9%e3%83%a9%e3%83%83%e3%82%b7%e3%83%a5/
398デフォルトの名無しさん
垢版 |
2018/05/15(火) 15:00:25.50ID:s5avjWfm
5chなんだから
じゃんじゃん語るべき
2018/05/15(火) 15:13:17.78ID:CiGj6Ypo
"\" 円(U+00A5)
"\" バックスラッシュ(U+005C)
2018/05/15(火) 15:14:24.36ID:CiGj6Ypo
両方U+005Cにされたw
2018/05/15(火) 16:23:07.72ID:eMeQgyCY
SIPやアプリや5chがどういう文字コードを扱ってどういう変換をしてるかがわからん
これは調べたり実験しないと

教えたがりの書き込みは全く役に立ってないから
書かなくて良いよ
釈迦に説法
2018/05/15(火) 17:54:36.17ID:SykJSNjw
>>401
いちいち突っかかるお前も大概だがな
黙って見ているってこともできないのか
2018/05/15(火) 18:01:31.83ID:44/Iysj7
できますん
2018/05/15(火) 18:18:50.58ID:GoFwWa3N
5ch はシフトJISだから1バイトのバックスラッシュは基本書けないし読めない
(U+00A5に対応する文字コードがない)
実体参照の使用が許可されてる板なら実体参照でU+00A5の字も書ける
fcfc はわかんないな

ググるとfcfcはシフトjisのibm拡張文字領域で、
aixの修正された不具合の説明で文字コード変換の際に
意味のないコードfcfcになるのがどうのこうのというページがあったから
libicu(ibmの文字コード関係ライブラリ。割と広く使われている)で
そういう不具合のあるバージョンがあるんだろうな
2018/05/15(火) 18:28:51.68ID:KcubxIhK
テキストファイルっていっぱい種類あるね
2018/05/15(火) 18:34:45.23ID:GoFwWa3N
>>404の補足
5ch は投稿されたfcfcをそのまま出してるだけで、
誤変換しているのは投稿しているアプリ

それはそれとしてこの板ではバックスラッシュ使いたいよね
2018/05/15(火) 19:26:38.75ID:CiGj6Ypo
>>404
U+00A5がYen signじゃろ…
408デフォルトの名無しさん
垢版 |
2018/05/15(火) 19:52:19.95
この板ではバックスラッシュも円マークも両方書き込める

実例↓

文字コード総合スレ Part11
https://mevius.5ch.net/test/read.cgi/tech/1516629503/116
409デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:10:00.78ID:r6+CqG6i
\\\\\\\\
できるかな?
410デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:10:17.25ID:r6+CqG6i
お。できた。
411デフォルトの名無しさん
垢版 |
2018/05/15(火) 20:33:46.64ID:sy5AMFlu
日本人にも責任がある


【666の獣トランプ涙目w】 2000年ぶりにWあの漢″帰郷の噂… <再臨> イスラエル、また処刑する!?
http://rosie.5ch.net/test/read.cgi/liveplus/1526351394/l50
2018/05/15(火) 21:02:46.10ID:GoFwWa3N
>>407
そっかごめん訂正
u+00A5 はシフトjisの0x5c に変換されて書けるけど、
ユニコードの u+005c のバックスラッシュは書けない、が正解だった。
2018/05/15(火) 21:10:05.44ID:GoFwWa3N
バックスラッシュと言えば Visual Studio で c のソース編集時に
バックスラッシュが表示されてて、文字コードはshift jisなのに何故?

と思ってたが Visual Studio では0x5Cがどっちで表示されるかはフォント任せなんだな
shift jis (cp932) では円マークと規定されてるのに。
2018/05/15(火) 21:31:34.51ID:K0qtXPJ7
>>396
何事も、ニワカな奴ほど語りたがるからしゃーない
2018/05/15(火) 23:45:05.24ID:1bAdW6Zs
数学コンプだけじゃなくて文字コードコンプまで発症したのかw
2018/05/16(水) 00:37:59.02ID:G4b5C/G+
頭がおかしいんだから仕方ないね
精神科のお薬飲んで寝ろ
2018/05/16(水) 00:41:48.15ID:Ncn1UiZB
>>378
Kotlin
(1)のみ
https://paiza.io/projects/XTGPpBdI1JBYNmglXvOEOw
2018/05/16(水) 00:54:59.23ID:tDn46mBr
禁煙の立て札の前でタバコを吸う数学奴文字コード奴であった。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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