プログラミングのお題スレ Part9 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2016/12/01(木) 16:58:30.97ID:gTkHDluD
プログラミングのお題スレです。

前スレ
プログラミングのお題スレ Part8©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1444216746/

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
http://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
http://runnable.com/
http://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。
2017/01/04(水) 12:44:11.80ID:WgerS0Nf
回答無限個あるけどいいの?
2017/01/04(水) 13:15:36.49ID:UpZyqzsr
なにわろてんねん
2017/01/04(水) 18:33:26.02ID:dwq5ZcuT
http://ideone.com/BinLDz
C++??なんかへんな問題だな。
2017/01/04(水) 18:36:48.39ID:83LRywdJ
1^X+2016^1=2017
という形の解が無数に存在する。
これに対する制限がなければ面白くない。
5752
垢版 |
2017/01/04(水) 19:17:06.25ID:y99Ue0/2
では□に入れるのを2以上の自然数に変更させてください
2017/01/04(水) 23:01:48.48ID:tU35eaIW
>>57
C++
自然数nがa^b (a>=2,b>=2)で表せるかどうか判定する関数(isFact)の
キャストが糞だから誰かいい書き方教えてください…
http://ideone.com/cB1Ncw
2017/01/04(水) 23:17:21.92ID:dwq5ZcuT
>>57
http://ideone.com/LbWS0f
C++。初期条件変更。
答えがバッサリ減った。
2017/01/04(水) 23:37:14.33ID:I0E1npQu
>>57
C
http://ideone.com/v5btSV
2017/01/04(水) 23:41:45.40ID:I0E1npQu
パフォーマンス改良
http://ideone.com/WDu0Ox
2017/01/04(水) 23:54:08.76ID:dwq5ZcuT
>>57
http://ideone.com/uxu5Bl
C++。頑張って最適化。これ以上はアルゴリズム変えないと大変。
2017/01/05(木) 00:33:24.56ID:FeYPKi0Y
>>57 Java
https://ideone.com/vRiP1c
2017/01/05(木) 01:06:45.10ID:FeYPKi0Y
>>57 Java
http://ideone.com/hNhAMC

>>63の ArrayList<String>[] list = new ArrayList[n]; がすんげぇメモリの無駄に思えたので
2017/01/05(木) 01:50:33.81ID:Tpy8rHG5
>>57
C++
Σ_i=1~m □^□ = nに拡張してみた
http://ideone.com/KKHS6o
2017/01/05(木) 23:04:17.78ID:Rf7MYzqE
>>57
http://ideone.com/9NAHBd

ひまつぶしにやってみた。C言語。
2017/01/06(金) 07:39:18.38ID:zAIptLYs
>>66
12^3 + 17^2 = 2017
17^2 + 12^3 = 2017
AB入れ替わりのこれはあるのに

3^4 + 44^2 = 2017
9^2 + 44^2 = 2017
がないのはなんでなんだぜ?
2017/01/06(金) 08:14:14.51ID:6Va7LE9a
ループ2が43で十分ってことになってるからかな??
2017/01/06(金) 08:20:39.24ID:FKYJf0Ai
全てのパターンを調べろっていうお題じゃないからな
2017/01/06(金) 09:28:08.44ID:0R4aMgJq
>>57 Squeak/Pharo Smalltalk

| ans |
ans := OrderedCollection new.
(2 to: 2017 sqrt) asDigitsToPower: 4 do: [:digits |
 ((digits first: 2) raisedTo: (digits last: 2)) sum = 2017
  ifTrue: [ans add: ('{1}^{3}+{2}^{4}' format: digits)]
].
^ans asStringWithCr
2017/01/06(金) 21:50:55.39ID:aMqQPymQ
>>66
コメントアウトで書いた議論をそのままコードにすればいいのに、そんなにマジックナンバー埋め込んでどうすんだ
2017/01/08(日) 13:22:26.64ID:XDbKIsfA
画面に並んでいるコントロールに左上から右下にタブ順を割り振るアルゴリズムってどう書きますか?
要するに矩形のソート方法です
綺麗に並んでるとは限りませんし重なっているものもあります
目で見た感覚的に正しくなるようにできますかね?
2017/01/08(日) 14:54:28.66ID:pxQLZoyB
>>72
(1) 重心の座標を求めて、
(2) Yでソート後Xでソート

とか。

まあ「感覚的に正しい」なんて要件はこの手の問題じゃ曖昧以外の何でもないし
どうやっても厳密な定義は無理だから、普通に左上座標で妥協してもいいんじゃないの
2017/01/08(日) 15:11:05.77ID:RSx5of9s
ひな形作った
http://jsbin.com/doniwanoqi/edit?html,output
2017/01/08(日) 17:11:20.51ID:8OGZNgRf
完全にスレチです。
JSスレでどうぞ。
2017/01/08(日) 17:17:34.30ID:5tCF0ZUl
>>72
要件が曖昧すぎる
どこを左上として、どこを右下とするのかで結果が変わるだろうし、あなたの感覚とズレが生じることもありえる
円形や一直線に並んでいる場合どこを左上とするのか、
画面右上、左下、右下を結んだ三角形(凾フような形)に並んでいるとき、左上と呼べるようなコントロールが存在しないけど、どうするのか
2017/01/08(日) 17:27:52.04ID:MJfiP+Ss
>>76
いや,逆にあいまいな要件のみ提示されていて,それに感覚的に適合する実装を示せ,というお題だろう
客は自分のしたいことを本当には知っていない
2017/01/08(日) 17:33:29.68ID:pxQLZoyB
>>77
こういう営業さんがいる会社は悲惨なことになるねw
冗談抜きで、IT業界の一部の労働環境が劣悪な理由はこういう安請け合いにある。
2017/01/08(日) 17:43:37.92ID:MJfiP+Ss
>>78
あいまいな要件に対して実装を提案することは問題ないだろう?
問題はその実装をちゃぶ台返しにされないようにすることだろう?
実装の提案ができないようだと仕事にならないのでは?
2017/01/08(日) 17:54:48.18ID:pxQLZoyB
>>79
甘いと思うよ。
それ、製品の完成後にこちらの提案が「やっぱり何か違う」ってちゃぶ台返しされるリスクを
考えてないでしょ。

まあスレ違いなんでこれ以上言わないけどさ。
2017/01/08(日) 18:05:19.61ID:RSx5of9s
これ業務じゃないんだし、自分だったらこう実装するっていうのを書いてけばええやん
2017/01/08(日) 18:21:10.87ID:XDbKIsfA
というかこの問題は順位付けに自明な定義がないところが肝です
AIなどでもそうですけど最近は曖昧かつ感覚に矛盾しない答えを求められる事が増えてきています
2017/01/08(日) 22:47:32.14ID:Qw43e7Zm
で、お題ってどれ?
2017/01/08(日) 23:19:01.41ID:4zEbWvNh
左上と右下を結ぶ線が垂直軸となる座標系に変換して
上から順に拾っていくだけじゃないの?
2017/01/08(日) 23:27:18.98ID:c38VN46k
>>84
それだと(0, 80は(100, 0)より順番が若くなる気がするんだけどw
2017/01/09(月) 00:07:13.57ID:g5s54bF4
>>85
何が言いたいのか分からないのでコメントしにくいけど
何かがおかしいとしたらあなたが考えた座標の変換が間違ってるんだろう
2017/01/09(月) 00:12:11.15ID:i1HzEaEu
>>86
自分で自分の言ってることが分かってないのかw

A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
AはBの「上」になる。

このぐらいのことそれを思いついた5秒後に分かれよほんと
2017/01/09(月) 03:09:12.91ID:iIb+NoJa
xでソートしてからyでソートだよな?
違う?
2017/01/09(月) 07:01:36.39ID:s6rymSkb
>>88
(10,0)と(5,10000)で後者が先に選択されるのはいやだ


次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈ a.center ⊂ b or b.center ⊂ aが成立する
2017/01/09(月) 07:04:25.54ID:s6rymSkb
ミスった

次のような長方形からなる集合Uを定義する:
∀a∈ U に対し,∃b∈Uが存在し a.center ⊂ b or b.center ⊂ aが成立する
要するに連結した長方形を集めるイメージですね
タグの順位付けしたい長方形の集合を連結した長方形の集合に分割してから
2017/01/09(月) 07:08:49.40ID:s6rymSkb
>>90
ほんとごめんなさい
集合Uの頂点を、最も原点(0,0)と集合Uの要素の長方形との距離が最も小さくなる長方形の左上の点と定義して
集合についてソートして、集合の要素についてxでソートするのが個人的に自然な感覚かなぁ
2017/01/09(月) 07:18:31.23ID:s6rymSkb
xでソートしたらこのケースでダメだ
http://i.imgur.com/wpFEt5J.png
集合の頂点を与える長方形を始点として中心点が近い要素順に並べるのが自然か
2017/01/09(月) 08:02:40.56ID:g5s54bF4
>>87
> A = (0, 80)、 B = (100, 0)とすると、お前さんが言ってる座標兼では
> AはBの「上」になる。

AがBの上になるのはあなたがそう変換した(あなたが決めた)からですよ

現在の座標系と左上と右下を結ぶ線が垂直軸となる座標系との関係性には
自由度があります(1秒で気付くと思いますが)
どのような関係にするかはお題の人間の感覚的に正しく見えるような関係を
選ぶべきであって、あなたが選択した関係に従って変換された座標に対して
あなたがおかしいと思ったというだけですね
2017/01/09(月) 10:48:32.68ID:LhlDvgN3
>>93
何が言いたいのかさっぱりわからんな。
数学弱いなら無理しなくていいのに
2017/01/09(月) 10:56:12.03ID:LhlDvgN3
ああ、きっと>>93の世界では平行移動で2点間の相対的な位置関係が
変わるんだろうねw
2017/01/09(月) 17:11:09.51ID:s0WlKSpH
>>57
http://echo.2ch.net/test/read.cgi/tech/1434079972/19
やっとコンパイルが通ったよ,ママ‥
2017/01/09(月) 19:58:25.90ID:nfkV3o0K
>>52 >>57 c
https://ideone.com/KhbiRx
2017/01/10(火) 18:29:09.08ID:Ilw6o9KC
>>94
自己紹介かな
座標軸の張り方次第だっつーのw
2017/01/10(火) 20:42:50.38ID:ld93epow
>>98
じゃあ具体的にどういう座標系ならBがAの上になるのか言ってみろ馬鹿。
重症だな
100デフォルトの名無しさん
垢版 |
2017/01/10(火) 21:08:13.05ID:fM7Pfoze
キチガイ降臨age
2017/01/10(火) 21:19:39.42ID:NXUZz/0q
多分アマゾンギフトの人だよ
2017/01/10(火) 21:52:46.22ID:KKLCbaCP
煽って教えてもらうメソッドか
低能って嫌だな
2017/01/10(火) 22:22:58.60ID:EjxLrxqR
どっちかっていうと消えてくれた方がありがたい
104デフォルトの名無しさん
垢版 |
2017/01/10(火) 22:34:23.43ID:U9oYccVU
>>102
誰に物をいってるんだ?
身の程をわきまえろ
105デフォルトの名無しさん
垢版 |
2017/01/10(火) 22:36:50.29ID:U9oYccVU
>>99
煽って教えてもらうメソッドか
低能って嫌だな
2017/01/11(水) 12:22:04.85ID:gkYh8YCT
教えるも糞も最初から正解は書いてある>>87
107デフォルトの名無しさん
垢版 |
2017/01/11(水) 14:49:58.96ID:iTAjJX4H
>>104-105
uyか?Qか?
2017/01/11(水) 19:39:31.27ID:J0kepQ6p
QZ=>>96
109デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:08:00.35ID:0XwQtfyu
QZ怒りのマンガでわかる心理学
110デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:11:32.29ID:NdPILmY+
>>86
おい!お前のせいでキチガイが増殖してるじゃねえか
責任とって全部持って帰れ
111デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:13:18.42ID:NdPILmY+
>>106
いや何を書いたとかじゃなくてさ、
>>99
煽って教えてもらうメソッドか
低能って嫌だな
112デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:14:22.15ID:NdPILmY+
心理学怒りのマンガでわかるQZ
113デフォルトの名無しさん
垢版 |
2017/01/11(水) 21:18:25.47ID:NdPILmY+
頭の中がQZでいっぱいな心理学おじさんはQ呼称で自分だけは特別な存在アピール
2017/01/11(水) 23:33:02.72ID:IQVyJq11
感覚に頼るような変なお題出すからキチガイが湧くんだよ
2017/01/12(木) 00:14:22.68ID:OC4R5S2o
IDが出るようになったのになぜQはコテを消したのか?
とんだチキンだったのではないだろうか?
116デフォルトの名無しさん
垢版 |
2017/01/12(木) 07:39:01.18ID:sAp1jMS4
心理学怒涛の寝ても覚めてもQZ
2017/01/12(木) 13:04:44.00ID:OdpRjvqI
>>16
ようQ
2017/01/12(木) 13:06:09.71ID:OdpRjvqI
×>>16
>>116
似ても焼いても一つも人の役に立てないQ
119デフォルトの名無しさん
垢版 |
2017/01/12(木) 21:59:23.34ID:yV1HOyPB
心理学最終手段の居直りQ連呼
120デフォルトの名無しさん
垢版 |
2017/01/12(木) 22:00:27.56ID:yV1HOyPB
心理学おじさんとQZを同じ部屋にとじこめたらどうなるの?
2017/01/12(木) 22:38:03.38ID:KUw+Fq2e
ラップでも始めるんじゃね。
2017/01/13(金) 18:15:01.00ID:hu5eqRYQ
QZ=>>96
2017/01/13(金) 21:36:42.18ID:A97spPPP
お題:平面上に四つの点を二点間の距離が二種類になるように配置する
2017/01/13(金) 23:31:20.40ID:Z31HhTHu
正三角形+中心
一辺を共有する二つの正三角形
正方形

他にあるかな?
2017/01/14(土) 03:29:31.67ID:OgQ0DzZw
異なる辺の長さa,bに対して
1)a:5本, b:1本
正三角形(辺の長さa)×2の菱形のみ
2)a:4本, b:2本
2辺と対角線の長さがaの凧型
正方形(辺の長さa)
3)a:3本, b:3本
正三角形と重心

3)はまだまだありそう
2017/01/18(水) 21:37:38.36ID:6wTe0sJ+
sage>>123
 ●

 ●

● ●
ーーー
  ●


●   ●
  ●
ーーー
 ●  ●

●    ●
ーーー
● ●

● ●
ーーー
  ●

  ●

●   ●
ーーー
  ●   ●



●   ●
2017/01/18(水) 22:19:10.68ID:vpMv+OF/
>>126
座標で書いてくれw
2017/01/18(水) 22:50:29.86ID:nuz5iQOv
プログラムで書いてくれ
2017/01/19(木) 12:26:45.56ID:ZgJp4HEV
>>123
平面上に3点P1、P2、P3を配置して三角形を作る時、正三角形を含む二等辺三角形でなければならない
これ以外の配置のやり方をすると辺の長さが3種類となって前提に反する

上記のように配置した3点3点P1、P2、P3に4点目P4を配置するとき、
A) 二等辺三角形P1P2P3と底辺を共有し、長さが等しい辺と同じ長さの2辺をもつ2等辺三角形となるようにP4を配置する
(底辺を共有するように二等辺三角形二つを配置する)
または
B) 三角形P1P2P3が正三角形のとき、外接円の中心と一致するようにP4を配置する

の二通りの配置の仕方がある。逆に言えば、この条件に従うように座標を決定すれば無限の配置の仕方が可能
2017/01/19(木) 13:43:42.27ID:ff1dOA50
>>123 Javascript
http://codepen.io/anon/pen/mRRxXx?editors=1011

観測的手法で 分解能に依存するけど網羅できるはず
2017/01/19(木) 14:02:27.30ID:ff1dOA50
って、>>123よく読んだら>>130じゃダメだ! orz
失敬 撤回しますわ
2017/02/21(火) 19:03:19.21ID:vHI0u4yb
お題:ある数 n が与えられたとして、n の原始根の位数を求めよ
条件:原始根については https://ja.wikisource.org/wiki/%E5%88%9D%E7%AD%89%E6%95%B4%E6%95%B0%E8%AB%96%E8%AC%9B%E7%BE%A9/%E7%AC%AC1%E7%AB%A0/%E5%8E%9F%E5%A7%8B%E6%A0%B9%EF%BC%8C%E6%8C%87%E6%95%B0
を参照せよ、ただし、このテキストでは n が素数であることを前提にしているが、原始根は n が素数でなくても存在する。n が素数でない場合にも対応せよ。
原始根を、小さい数から順次位数を力技で求める方法は認めない。
n の原始根が存在しない場合にアルゴリズムが停止する必要は要請しない。
2017/03/02(木) 16:39:35.38ID:TV66ybVQ
なんでお前偉そうなの
宿題は自分でやりな
2017/03/03(金) 09:55:45.90ID:SUJ1/PZz
C言語スレよりロンダリング

x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
  3    1  0.46
  4    3  1.39
  5    6  2.78
  6    10  4.63
  7    15  6.94
  8    21  9.72
  9    25 11.57
 10    27 12.50
 11    27 12.50
 12    25 11.57
 13    21  9.72
 14    15  6.94
 15    10  4.63
 16    6  2.78
 17    3  1.39
 18    1  0.46
2017/03/03(金) 18:25:27.76ID:P2edee8O
厳密解を出す場合なら動的計画法で素朴にやるとO(x^2y^2)
2017/03/03(金) 20:41:14.23ID:yCeb1kZ1
>>134 Java
https://ideone.com/mVatvl
2017/03/03(金) 21:29:12.11ID:SEBfdj3K
この問題のポイントはサイコロを正N面体に限定してないところだな
それと3面体なんていう指定をされたらどうするとかな
2017/03/04(土) 01:08:57.14ID:eNSOp3uJ
>>136
やるなあ
パスカルの三角形のもう一段階上みたいな感じか
2017/03/04(土) 04:55:45.63ID:VvbFezkO
>>134 C
https://ideone.com/FmyEy7
140デフォルトの名無しさん
垢版 |
2017/03/05(日) 03:05:26.21ID:FnE3e1tn
お題: ハート・ダイヤ・クラブ・スペードを各13枚ずつもつ52枚のカードから13枚のカードが配られます.

Q1. 配られたカードの種類がもっとも均質でない(13・0・0・0)確率P1と, もっとも均質である(4・3・3・3)確率P2を求めてください.
Q2. 確率P1よりも低い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q3. 確率P2よりも高い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
2017/03/05(日) 07:48:05.16ID:KWf32tSz
宿題は自分でやろう
2017/03/05(日) 09:20:54.74ID:FnE3e1tn
>>134 Emacs Lisp

(require 'cl-lib)

(defun dice (x y)
(let ((b '(0)))
(dotimes (i y)
(setq b (reduce (lambda (a b) (append a b)) (loop for n in (loop for i from 1 to x collect i) collect (loop for m in b collect (+ n m))))))
(pp (loop for n in (remove-duplicates b) collect (list n (count n b) (/ (float (count n b)) (length b)))))))

(dice 6 3)
((3 1 0.004629629629629629)
(4 3 0.013888888888888888)
(5 6 0.027777777777777776)
(6 10 0.046296296296296294)
(7 15 0.06944444444444445)
(8 21 0.09722222222222222)
(9 25 0.11574074074074074)
(10 27 0.125)
(11 27 0.125)
(12 25 0.11574074074074074)
(13 21 0.09722222222222222)
(14 15 0.06944444444444445)
(15 10 0.046296296296296294)
(16 6 0.027777777777777776)
(17 3 0.013888888888888888)
(18 1 0.004629629629629629))
2017/03/05(日) 11:59:20.94ID:h/zPOUa4
>>134 Squeak/Pharo Smalltalk

| dice |
dice := [:x :y |
 | bag |
 bag := Bag new.
 (1 to: x) asDigitsToPower: y do: [:ary | bag add: ary sum].
 bag sortedElements collect: [:kv | {kv key. kv value. kv value / bag size * 100s2}]
].

dice value: 6 value: 3

"=> {
 {3 . 1 . 0.46s2}.
 {4 . 3 . 1.38s2}.
 {5 . 6 . 2.77s2}.
 {6 . 10 . 4.62s2}.
 {7 . 15 . 6.94s2}.
 {8 . 21 . 9.72s2}.
 {9 . 25 . 11.57s2}.
 {10 27 12.50s2}.
 {11 27 12.50s2}.
 {12 . 25 . 11.57s2}.
 {13 . 21 . 9.72s2}.
 {14 . 15 . 6.94s2}.
 {15 . 10 . 4.62s2}.
 {16 . 6 . 2.77s2}.
 {17 . 3 . 1.38s2}.
 {18 . 1 . 0.46s2}
} "
2017/03/05(日) 15:38:00.05ID:Z6iNRFEa
プログラミングする意味のないお題ばっか
2017/03/05(日) 17:57:56.52ID:I6Dgph4B
>>144
プログラミングする意味のあるお題作ってくれよ
2017/03/05(日) 18:17:30.28ID:WuF+gNTE
>>134 ocaml
https://ideone.com/SWZRyZ
2017/03/05(日) 20:12:40.81ID:Oe+PHv4r
いや>>134は10面体10個を10秒以内で計算するとかの条件付けるとプログラミングの意味あるぞ

>>136はよく出来てるとオモタ
2017/03/07(火) 18:28:24.63ID:sN5zB8qN
>>144
そんなこといわずに >>132 を解いてくれよぅ
原始根の存在定理を素数以外に拡張していいのかどうか、いまいち確信がもてないんだ…
149140
垢版 |
2017/03/12(日) 13:40:16.63ID:VxOAsp1C
乱数を使用して10億回試行してみたところ,4・3・3・3の出現回数は105357474 (10.5%), 13・0・0・0は0(12・1・0・0は3)でした.
4・3・3・3よりも出現回数の多い組み合わせは以下の4通りでした.

4・4・3・2 215505541回 (21.6%)
5・3・3・2 155167267回 (15.5%)
5・4・3・1 129327030回 (12.9%)
5・4・2・2 105786216回 (10.6%)

このお題はHAKMEM MIT AI Memo 239 ITEM 46 (Schroeppel)を参考にしました.
http://www.inwap.com/pdp10/hbaker/hakmem/number.html#item46
2017/03/24(金) 16:34:29.50ID:krVzShuL
A+B+C+D+E+F+G+H+I+J+K=170
A-B=−2
A>B>C>D>E>F>G>H>I>J>K
A>0のとき
この式を満たすA〜Kを全て求めよ
2017/03/24(金) 16:44:02.34ID:IzMGTasH
A-B=−2
A>B
この二つを同時に満たせません
2017/03/24(金) 19:36:54.08ID:krVzShuL
済みません間違えてました
A-B=2でした
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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