プログラミングのお題スレ Part9at TECH
プログラミングのお題スレ Part9 - 暇つぶし2ch127:デフォルトの名無しさん
17/01/18 21:37:38.36 6wTe0sJ+.net
sage>>123
 ●
 ●
● ●
ーーー
  ●

●   ●
  ●
ーーー
 ●  ●
●    ●
ーーー
● ●
● ●
ーーー
  ●
  ●
●   ●
ーーー
  ●   ●

●   ●

128:デフォルトの名無しさん
17/01/18 22:19:10.68 vpMv+OF/.net
>>126
座標で書いてくれw

129:デフォルトの名無しさん
17/01/18 22:50:29.86 nuz5iQOv.net
プログラムで書いてくれ

130:デフォルトの名無しさん
17/01/19 12:26:45.56 ZgJp4HEV.net
>>123
平面上に3点P1、P2、P3を配置して三角形を作る時、正三角形を含む二等辺三角形でなければならない
これ以外の配置のやり方をすると辺の長さが3種類となって前提に反する
上記のように配置した3点3点P1、P2、P3に4点目P4を配置するとき、
A) 二等辺三角形P1P2P3と底辺を共有し、長さが等しい辺と同じ長さの2辺をもつ2等辺三角形となるようにP4を配置する
(底辺を共有するように二等辺三角形二つを配置する)
または
B) 三角形P1P2P3が正三角形のとき、外接円の中心と一致するようにP4を配置する
の二通りの配置の仕方がある。逆に言えば、この条件に従うように座標を決定すれば無限の配置の仕方が可能

131:デフォルトの名無しさん
17/01/19 13:43:42.27 ff1dOA50.net
>>123 Javascript
URLリンク(codepen.io)
観測的手法で 分解能に依存するけど網羅できるはず

132:デフォルトの名無しさん
17/01/19 14:02:27.30 ff1dOA50.net
って、>>123よく読んだら>>130じゃダメだ! orz
失敬 撤回しますわ

133:デフォルトの名無しさん
17/02/21 19:03:19.21 vHI0u4yb.net
お題:ある数 n が与えられたとして、n の原始根の位数を求めよ
条件:原始根については URLリンク(ja.wikisource.org)
を参照せよ、ただし、このテキストでは n が素数であることを前提にしているが、原始根は n が素数でなくても存在する。n が素数でない場合にも対応せよ。
原始根を、小さい数から順次位数を力技で求める方法は認めない。
n の原始根が存在しない場合にアルゴリズムが停止する必要は要請しない。

134:デフォルトの名無しさん
17/03/02 16:39:35.38 TV66ybVQ.net
なんでお前偉そうなの
宿題は自分でやりな

135:デフォルトの名無しさん
17/03/03 09:55:45.90 SUJ1/PZz.net
C言語スレよりロンダリング
x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
  3    1  0.46
  4    3  1.39 <


136:br>   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



137:デフォルトの名無しさん
17/03/03 18:25:27.76 P2edee8O.net
厳密解を出す場合なら動的計画法で素朴にやるとO(x^2y^2)

138:デフォルトの名無しさん
17/03/03 20:41:14.23 yCeb1kZ1.net
>>134 Java
URLリンク(ideone.com)

139:デフォルトの名無しさん
17/03/03 21:29:12.11 SEBfdj3K.net
この問題のポイントはサイコロを正N面体に限定してないところだな
それと3面体なんていう指定をされたらどうするとかな

140:デフォルトの名無しさん
17/03/04 01:08:57.14 eNSOp3uJ.net
>>136
やるなあ
パスカルの三角形のもう一段階上みたいな感じか

141:デフォルトの名無しさん
17/03/04 04:55:45.63 VvbFezkO.net
>>134 C
URLリンク(ideone.com)

142:デフォルトの名無しさん
17/03/05 03:05:26.21 FnE3e1tn.net
お題: ハート・ダイヤ・クラブ・スペードを各13枚ずつもつ52枚のカードから13枚のカードが配られます.
Q1. 配られたカードの種類がもっとも均質でない(13・0・0・0)確率P1と, もっとも均質である(4・3・3・3)確率P2を求めてください.
Q2. 確率P1よりも低い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.
Q3. 確率P2よりも高い確率の組み合わせが存在する場合, その組み合わせと確率を求めてください.

143:デフォルトの名無しさん
17/03/05 07:48:05.16 KWf32tSz.net
宿題は自分でやろう

144:デフォルトの名無しさん
17/03/05 09:20:54.74 FnE3e1tn.net
>>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))

145:デフォルトの名無しさん
17/03/05 11:59:20.94 h/zPOUa4.net
>>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}
} "

146:デフォルトの名無しさん
17/03/05 15:38:00.05 Z6iNRFEa.net
プログラミングする意味のないお題ばっか

147:デフォルトの名無しさん
17/03/05 17:57:56.52 I6Dgph4B.net
>>144
プログラミングする意味のあるお題作ってくれよ

148:デフォルトの名無しさん
17/03/05 18:17:30.28 WuF+gNTE.net
>>134 ocaml
URLリンク(ideone.com)

149:デフォルトの名無しさん
17/03/05 20:12:40.81 Oe+PHv4r.net
いや>>134は10面体10個を10秒以内で計算するとかの条件付けるとプログラミングの意味あるぞ
>>136はよく出来てるとオモタ

150:デフォルトの名無しさん
17/03/07 18:28:24.63 sN5zB8qN.net
>>144
そんなこといわずに >>132 を解いてくれよぅ
原始根の存在定理を素数以外に拡張していいのかどうか、いまいち確信がもてないんだ…

151:140
17/03/12 13:40:16.63 VxOAsp1C.net
乱数を使用して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)を参考にしました.
URLリンク(www.inwap.com)

152:デフォルトの名無しさん
17/03/24 16:34:29.50 krVzShuL.net
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を全て求めよ

153:デフォルトの名無しさん
17/03/24 16:44:02.34 IzMGTasH.net
A-B=-2
A>B
この二つを同時に満たせません

154:デフォルトの名無しさん
17/03/24 1


155:9:36:54.08 ID:krVzShuL.net



156:デフォルトの名無しさん
17/03/24 19:49:23.03 3IaHiZWx.net
そっちを直すのか

157:デフォルトの名無しさん
17/03/24 19:50:50.29 IzMGTasH.net
修正がA>B>C...→A<B<C...じゃなくてA-B=-2→A-B=2だと無数に求められるから全て求めるのは無理じゃないかな?

158:デフォルトの名無しさん
17/03/24 19:57:24.58 IzMGTasH.net
例えばこんなん
int A=68,B=66,C=8,D=7,E=6,F=5,G=4,H=3,I=2,J=1,K=0;
while(true) {
A++; B++; K-=2;
}

159:デフォルトの名無しさん
17/03/24 22:00:38.98 DBVfNEjn.net
こういうお題を書きたいのなら制約条件を良く考えないと
A+B+C+D+E+F+G+H+I+J+K=170
A>B>C>D>E>F>G>H>I>J>K
A~Kは全て自然数とする
こういうのとかな

160:デフォルトの名無しさん
17/03/25 07:43:46.30 LJUF46o1.net
>>150
URLリンク(ideone.com)
C++。ちょっと自信ないけど、一応できた。
頑張って最適化した。

161:デフォルトの名無しさん
17/03/25 07:59:35.07 LJUF46o1.net
あれ?条件おかしいな。俺ってせっかちさん!

162:デフォルトの名無しさん
17/03/25 08:00:35.83 LJUF46o1.net
と思ったら専ブラの安価化けてた。

163:デフォルトの名無しさん
17/03/25 13:31:35.87 wrPCcs4m.net
URLリンク(www.hackerrank.com)
ハッカーランクという競技プログラミングサイトで出題中の問題。
オリジナル問題6問。
ハッカーランクに登録して解いてくれ。
スレ違いだろうか?
2つの三角形の共有面積はかなりマゾいのでお勧め。
一応競技プログラミング界の重鎮で東大で数学してる人にも解いてもらったりはしたけど。
挑戦者数が増えないのが悩みの種。
ただいま次回コンテストに向けて3/6問作成済み、3問作成予定。

164:デフォルトの名無しさん
17/03/25 13:58:45.28 LJUF46o1.net
レジストするのめんどいのと頭悪いので無理~~。

165:デフォルトの名無しさん
17/03/25 14:01:32.89 P+Eymz64.net
挑戦者数が増えないのは問題が悪いからだろ。
良問をだしてれば自然と挑戦者は増えるはず。
宣伝してズルした時点でお前の人間性の低さがわかるんだよ

166:デフォルトの名無しさん
17/03/25 14:02:58.32 LJUF46o1.net
んんん?どうした?

167:デフォルトの名無しさん
17/03/25 14:13:46.85 LJUF46o1.net
頭悪いって俺のこと行ってるんだが。すまんな!

168:デフォルトの名無しさん
17/03/25 15:30:57.12 P+Eymz64.net
>>160
東大生に解いてもらっても屑な問題はクズだ。
そんなもので東大のブランド志向に思ってる奴を釣ろうとしている
お前も同じ穴の貉だよ。
俺はそいういうやつは軽蔑するな。

169:デフォルトの名無しさん
17/03/25 18:47:23.24 OqJqFalA.net
まあ完全にスレチだから無視すれば?

170:デフォルトの名無しさん
17/03/28 09:57:58.96 084k/T9f.net
お題:格子点を1個だけ含む面積4の凸多角形を求める

171:デフォルトの名無しさん
17/03/28 13:00:05.06 qGSQyMpt.net
>>167
斜めってる正方形とか、無限にできるんでないの?

172:デフォルトの名無しさん
17/03/29 00:52:34.65 IYsCUDjz.net
>>167
xが0.9未満なら
(0,0)(x,0)(0.1,4/x)(0.1+x,4/x)
の平行四辺形でいいよね

173:デフォルトの名無しさん
17/04/01 19:39:48.39 bpxrLk3k.net
>>167
(0,0)-(0.8,0)-(9.8,10)

174: ◆QZaw55cn4c
17/04/08 18:54:06.32 O01wSTFq.net
[1] 授業単元:線形代数
[2] 問題文
与えられたn字正方行列の逆行列を求めよ。
求めた行列は、与えられた行列を掛けて n 次単位行列となることを確認せよ。
以下のCプログラムを元に実装されていない部分を補完せよ。C 以外の言語で記述する場合は、この C プラグラムの対応する部分も記述すること。
URLリンク(ideone.com)
逆行列が存在しない場合は適切に処理してよい。
[3] 環境
 [3.1] OS: 問わない
 [3.2] コンパイラ名とバージョン: 問わない
 [3.3] 言語: C または任意の言語
[4] 期限: ([2017年4月15日23:59まで]
[5] その他の制限:お題です。

175:デフォルトの名無しさん
17/04/08 21:30:20.69 n0eUgEex.net
QZのひとか。ここは宿題スレじゃないよ。

176:デフォルトの名無しさん
17/04/08 21:43:02.82 gcfXcmks.net
お題ですぅ‥

177:デフォルトの名無しさん
17/04/09 20:50:45.75 uOnZBcD2.net
お題:
辺の長さが100より小さい既約のピタゴラス三角形をすべて求めう。
出力の順序は問わない。

178:デフォルトの名無しさん
17/04/09 23:51:51.14 eG+aks/D.net
>>171
これ、宿題の解答にならないようなプログラムにするのは結構難問かも。

179:デフォルトの名無しさん
17/04/10 23:26:39.47 9Aj0xnIY.net
>>174 Java
URLリンク(ideone.com)

180:デフォルトの名無しさん
17/04/11 01:24:52.99 gtlUVgn4.net
>>174
Ruby
N=100
(1..N).step(2){|a|(a+2..N/a).step(2){|b|c=b*b-a*a>>1;a.gcd(b)<2&&c<N&&p([a*b,c,c+a*a])}}

181:デフォルトの名無しさん
17/04/11 21:44:43.48 MO2JwS29.net
お題:フランス語で1から100まで数える

182:デフォルトの名無しさん
17/04/11 21:50:23.26 LjaFq8Gx.net
1(フランス語 ・・・ 100(フランス語

183:デフォルトの名無しさん
17/04/11 22:35:16.36 gMY8o6LW.net
お題:
トランプの札のリストが文字列で与えられるので
同じマークor同じ数字のペアが最大何組できるか求めよ
D:ダイヤ、H:ハート、S:スペード、C:クラブ、
A:エース、2~9:数字の2~9、T:10、J:ジャック、Q:クイーン、K:キング
例:
"DAD2HAH3" -> 2
"DAD3D8D9DJH5H8HKSASKCAC5C8CK" -> 7
"SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT" -> 9

184:デフォルトの名無しさん
17/04/13 22:19:39.85 S/dW7TnL.net
>>180
知らんけどNP完全とかそういうやつ?
違ったらスマソ

185:デフォルトの名無しさん
17/04/14 01:20:45.82 xslPbFLu.net
>>180
URLリンク(ideone.com)
C++。多分間違ってる。数字も合わないしな。
i7-6700でリリースビルドで40秒くらいかかる。
見てる感じ塩基配列だよなこれ。

186:デフォルトの名無しさん
17/04/14 02:38:04.01 /pg6QsRy.net
>>180
c++ URLリンク(ideone.com)
問題文には明記なかったが、ユニークな52枚(4*13)1セットだけだとして解いた。
計算量は 1問 14^4*6 くらいになるのだろう。
(最初は14^5*6でやったが、ひとつ計算量落とした。
この数値じゃ、意味なかったけど)

187:デフォルトの名無しさん
17/04/14 06:35:41.46 qDe/EUun.net
動的計画法はよくわからん。
書けもしない。Orz

188: ◆QZaw55cn4c
17/04/14 18:11:30.73 UkhykSdt.net
>>171 人気がないね…ループの知識だけあればOKでループの構成を考える腕力が多少あればそれなりに楽しめるお題と思ったんだけれども
新規性がないのが弱点なのかな?
次のお題を考えることにしようか

189:デフォルトの名無しさん
17/04/14 22:18:00.95 qDe/EUun.net
URLリンク(ideone.com)
意味ないけど最適化したら現実的な時間で終わるようになった。
今暇なので、いい暇つぶしになったなぁ。意味ないけど。

190:デフォルトの名無しさん
17/04/15 10:54:03.85 tThpfxds.net
>>186
>DAD2HAH3:4,2
>DAD3D8D9DJH5H8HKSASKCAC5C8CK:394,38
>SAS2S3S4S5S6S7S8S9C2C3C4C5C6C7C8C9CT:1972800,16
どういうこと???
組み合わせの数がカードの枚数すら超えてるの???

191:デフォルトの名無しさん
17/04/15 11:05:02.69 eiwfOO/l.net
そいつのコード見てないから分からんが多分、最初の例なら
1)DAHA
2)DAD2
3)HAH3
4)DAD2,HAH3
みたいにカウントされちゃってるんじゃないか?

192:デフォルトの名無しさん
17/04/15 17:04:06.01 gqnlgfq4.net
>>180
最後のは9じゃなくて8組だろ
同じマーク S:4組、C:4組、合計8組
同じ数字 2,3,4,5,6,7,8,9の各ペアで合計8組
最大組数は8組

193:デフォルトの名無しさん
17/04/15 17:17:26.54 gqnlgfq4.net
>>180 C
URLリンク(ideone.com)

194:デフォルトの名無しさん
17/04/15 17:40:29.91 gqnlgfq4.net
俺も間違ってたので修正した
URLリンク(ideone.com)
答えは2組,6組,8組じゃないの?

195:デフォルトの名無しさん
17/04/15 19:29:06.55 BbAH7YT3.net
>>189
反例
数字で(S2=C2)で1ペア、
残り8枚ずつで同スートのペアを8つくる
合計 9ペア
数字で(S2=C2, S3=C3, S4=C4) 3ペア
残りは6枚ずつになるので、6ペアできる
合計9ペア
その他 数字のペアを奇数個つくれれば、9を作れる

196:デフォルトの名無しさん
17/04/15 20:24:00.89 gqnlgfq4.net
>>192
意味がわかった

197:デフォルトの名無しさん
17/04/15 21:12:03.91 v99qvGb2.net
8bitの整数を一つ引数として与え、
上位4bitと下位4bit を符号なし整数として掛け算した結果の8bitを返す関数を
論理演算子のみで実装したもののうち、
もっとも実行時間が短いものを挙げよ。
論理演算は全て1命令1サイクルとする。

198:デフォルトの名無しさん
17/04/15 21:23:09.15 v99qvGb2.net
表引きで1クロックとかは無しね。

199:デフォルトの名無しさん
17/04/15 22:10:36.10 fG6QrlNX.net
最も実行時間が短いかどうかの判定ってNP完全っぽそう

200:デフォルトの名無しさん
17/04/15 23:11:44.46 v99qvGb2.net
8bitなら力技で解けないかな?

201:デフォルトの名無しさん
17/04/16 03:52:44.93 T2fHNlZE.net
URLリンク(ideone.com)
C++。えーん終わらないよ~。
デバッグ覗いたら早い段階で答え出てるんだけど打ち切り方がわからない。
>>186などは題意を把握してなかった。

202:デフォルトの名無しさん
17/04/16 05:47:25.03 T2fHNlZE.net
ふえぇーん。1時間半回してもおわらないよー。
動的計画法すごい。

203:デフォルトの名無しさん
17/04/16 08:35:26.85 0couv4LD.net
>>180 Java
URLリンク(ideone.com)

204:デフォルトの名無しさん
17/04/16 14:11:29.20 oOWZ5kyJ.net
お題
これ
URLリンク(www.mext.go.jp)
に相当するアプリケーションを
非Web環境でも使えるような仕様で
単一の言語でコーディングしろ

205:デフォルトの名無しさん
17/04/16 14:13:03.29 aobdGNjh.net
>>180 C
URLリンク(ideone.com)

206:デフォルトの名無しさん
17/04/16 16:14:29.58 z1TgtbB7.net
>>201 Squeak Smalltalk で
URLリンク(scratch.mit.edu)

207:デフォルトの名無しさん
17/04/20 11:21:43.08 QJAwY2Mb.net
>>201 Pharo Smalltalk のもあった
URLリンク(www.phratch.com)

208:デフォルトの名無しさん
17/04/22 15:45:58.46 Btp73K0S.net
こういうのに瞬時に回答できるようになるまでどのくらいの時間がかかるものなの?

209:デフォルトの名無しさん
17/04/22 21:31:15.12 DL7Mzdas.net
お題: くまモンをかく

210:デフォルトの名無しさん
17/04/23 10:45:10.81 33igmMUW.net
くまモン

211:デフォルトの名無しさん
17/04/23 20:01:13.92 fsvPYIZO.net
>>205
一瞬

212:デフォルトの名無しさん
17/04/23 20:24:02.53 nc0/ghBL.net
とんちかよw

213:デフォルトの名無しさん
17/04/23 20:37:32.86 7bZTt8wr.net
ああ、やっと意味が分かったw

214:デフォルトの名無しさん
17/04/24 05:27:50.71 +7Sa1g5s.net
>>206
URLリンク(light.dotup.org)
URLリンク(ideone.com)
C++。あー大変だった。
以前ラウム螺旋作った時の流用したけど、タートルグラフィックはGUI無いとキツイなぁ。
似てないとか苦情は受け付けません。あしからず。

215:sage
17/04/24 05:36:47.92 4BlFLqQl.net
>>206 glsl
URLリンク(glslsandbox.com)
似てないなぁ……
>>211 GJ! 先越されたー

216:デフォルトの名無しさん
17/04/24 05:43:14.19 +7Sa1g5s.net
>>212
時代は3Dか・・・。
ロートルにはできん芸当だ。GJ。

217:デフォルトの名無しさん
17/04/24 11:57:42.03 SbFm/aQk.net
>>212
へーこんなところあるんだ知らんかった

218:デフォルトの名無しさん
17/04/24 21:55:43.67 WHcUZH3G.net
すみません。何言ってるかわからないだろうけど、
12桁の数字が並ぶ羅列は何を表しているのでしょうか???
/021/000/000/000
とか

219:デフォルトの名無しさん
17/04/24 22:16:03.57 9NN+cmWY.net
最初の3つが市外局番 次が区番号 残りが個人識別子だよ

220:デフォルトの名無しさん
17/04/25 05:30:26.30 8YHxJHtd.net
12桁くらいの数字を使う規格ってそれなりにありそうだけどな。

221:デフォルトの名無しさん
17/04/25 23:23:31.83 bgy6YsrD.net
お題:自然数nのヤング図形をもとめる

222:デフォルトの名無しさん
17/04/26 07:01:54.95 ezAhxtxU.net
>>218
ギブアップ。うぃきぺ見ても意味わかんない。頭爆発しそう。

223:デフォルトの名無しさん
17/04/26 07:24:25.57 5DpYjYxD.net
数字の入ったヤング盤じゃなくて、図形だけでいいの?
nのヤング図形を全部求めるってこと?

224:デフォルトの名無しさん
17/04/26 12:59:54.54 BGeLfl3x.net
>>218 Nim
URLリンク(wandbox.org)

225:221
17/04/26 16:03:33.34 BGeLfl3x.net
>>221は1行目が「× Yaund」「○ Young」という恥ずかしい間違いから始まり
N <= 0の時のチェック漏れやら
長方形のパターン(N=10の時の[5,5]や[2,2,2,2,2])が抜けてるなど
ミスしまくってました orz てことで、修正します
>>218 Nim
URLリンク(wandbox.org)

226:デフォルトの名無しさん
17/04/26 16:07:13.33 ezAhxtxU.net
なーんだそれでいいのか。
それならなんとか組めるかも。

227:デフォルトの名無しさん
17/04/26 19:19:14.42 ezAhxtxU.net
>>218
URLリンク(ideone.com)
C++。こういうこと?やっぱりよくわからん。

228:デフォルトの名無しさん
17/04/27 10:01:02.40 LnKeLTZP.net
問題の想定解と合ってるのかな?
出題者のコメントが欲しいところ

229:デフォルトの名無しさん
17/05/05 08:45:57.67 f8yfM1E5.net
素人の言語処理100本ノック:まとめ
URLリンク(qiita.com)

230:デフォルトの名無しさん
17/05/24 21:48:00.75 7oyfe1wq.net
お題:以下を出力
857142
714285
571428
428571
285714
142857

231:デフォルトの名無しさん
17/05/24 22:07:09.20 L9mU+g8W.net
>>227
とりあえずPythonでやってみた
URLリンク(ideone.com)

232:デフォルトの名無しさん
17/05/24 22:19:15.30 lEJcnLZT.net
>>227
法則性がわからん
文字列じゃなくあくまで数値で?

233:デフォルトの名無しさん
17/05/24 23:21:53.31 FC0+qCJl.net
>>229
一番下の数字に1∼6を掛ければ

234:デフォルトの名無しさん
17/05/24 23:33:01.85 0ssPtL9D.net
>>227
C
URLリンク(ideone.com)

235:デフォルトの名無しさん
17/05/24 23:48:35.88 99+UTRWu.net
各々n/7の循環部だね

236:デフォルトの名無しさん
17/05/24 23:51:10.59 99+UTRWu.net
>>227
Ruby
6.downto(1){|i|p i*1000000/7}

237:デフォルトの名無しさん
17/05/25 01:00:30.19 vvyNjvHe.net
>>227 Perl
use 5.016;
use integer;
say 857142 / $_ for 1..6;

238:デフォルトの名無しさん
17/05/25 01:16:57.10 vvyNjvHe.net
>>234 間違えてたスマソ
Perl
use 5.016;
say 142857 * (7 - $_) for 1..6;
$ perl 9_227.pl
857142
714285
571428
428571
285714
142857

239:デフォルトの名無しさん
17/05/25 13:01:14.56 +8TeyhTL.net
>>227 Squeak/Pharo Smalltalk
(142857 * (6 to: 1 by: -1)) asStringWithCr
=> '857142
714285
571428
428571
285714
142857'

240:デフォルトの名無しさん
17/05/25 13:21:29.71 +8TeyhTL.net
>>227 GNU Smalltalk
6 to: 1 by: -1 do: [:i | (142857 * i) displayNl]
URLリンク(ideone.com)

241:デフォルトの名無しさん
17/05/25 18:49:32.83 F0MQej0l.net
>>227 common lisp
(do ((i 6 (- i 1))) ((equal i 0)) (print (floor (/ (* 1000000 i) 7))))

242:デフォルトの名無しさん
17/05/25 19:28:46.12 MmhezNib.net
お題が情報不足過ぎて何を使っていいのか悪いのかがわかんない

243:デフォルトの名無しさん
17/05/25 21:35:24.87 Z+pf95Ly.net
>>227
@Mathematica
In[1]:=142857//
  IntegerDigits//
  NestList[RotateLeft,#,Length[#]-1]&//
  Map[FromDigits,#]&//
  Sort//
  Reverse//
  Map[{#}&,#]&//
  Grid
Out[1] = 857142
     714285
     571428
     428571
     285714
     142857

244:デフォルトの名無しさん
17/05/25 21:56:10.72 ShXkIc2G.net
>>227 Io
a := 999999 / 7
for(i, 6 * a, a, -a, i println)

245:デフォルトの名無しさん
17/05/25 22:10:21.35 73MQsPzv.net
>>227 Nim
for i in countdown(6,1): stdout.writeline i*142857

246:デフォルトの名無しさん
17/05/25 23:50:37.58 SwCyV6dp.net
>>227 ruby
puts (1..6).map {|i| i * 142857}.reverse
>>227 rust
fn main() {
//println!("{}", (1..7).rev().map(|i| (142857 * i).to_string()).collect::<Vec<_>>().join("\n"));
for i in (1..7).rev() {println!("{}", 142857 * i)}
}

247:デフォルトの名無しさん
17/05/27 20:11:30.48 x9+XjHY5.net
227 R
write((6:1)*999999/7.",1)

248:デフォルトの名無しさん
17/05/28 14:54:52.19 /dM5Kslk.net
>>227 SWI-Prolog
main(N, X) :- X1 is X * N, write(X1), nl, N > 1, N1 is N - 1, main(N1, X).
:- main(6, 142857).

249:プログラミングのお題
17/06/01 12:06:57.65 o30QeXgp.net
トランプ氏の謎の単語
covfefe
の謎を解明する。

250:デフォルトの名無しさん
17/06/01 13:12:24.25 /fo1vNun.net

c,o,v,f,e,f,eの7文字をランダムに出力し続け、covfefeが完成するまでの文字数をカウント

251:デフォルトの名無しさん
17/06/01 13:47:08.78 sszEh+oH.net
>>247 Squeak/Pharo Smalltalk
| count covfefe buffer |
count := 0.
covfefe := 'covfefe' asOrderedCollection.
buffer := covfefe copy atAllPut: $*.
[ count := count + 1.
 Transcript nextPut: (buffer removeFirst; add: covfefe atRandom).
 (count isDivisibleBy: 1000) ifTrue: [Transcript endEntry].
 buffer = covfefe
] whileFalse.
Transcript endEntry.
^count "= 3430


252:1 "



253:デフォルトの名無しさん
17/06/01 23:30:50.24 MQJNOblg.net
>>247 効率悪いけれど…
Perl
$w='covfefe';
@l=split '',$w;
do {
$_ .= $l[int(rand(7))];
} while (!/$w/);
print index $_, $w . "\n";

254:デフォルトの名無しさん
17/06/01 23:44:01.17 MQJNOblg.net
>>249
ゴメン、これだと最初に見つかったときに0になっちゃうんで
「完成するまでの文字数」を出すためには
× print index $_, $w . "\n";

○ print index($_, $w) + 7 . "\n";
に修正させてください。

255:デフォルトの名無しさん
17/06/02 02:47:24.66 znhUDH9D.net
>>247 Nim
import random
const word = "covfefe"
var count, match = 0
randomize()
while match != word.len():
    let ch = word[random word.len()]
    stdout.write ch
    match = if ch == word[match]: match + 1 else: 0
    inc count
echo "\n", count

256:デフォルトの名無しさん
17/06/02 07:41:45.64 r1TSATN8.net
それだとccovfefeのときとか抜け落ちるんじゃね?

257:デフォルトの名無しさん
17/06/02 14:13:15.27 znhUDH9D.net
>>252
その通りですね
お題のcovfefeなら安直な修正でいいかな
-    match = if ch == word[match]: match + 1 else: 0
+    match = if ch == word[match]: match + 1 elif ch == word[0]: 1 else: 0

258:デフォルトの名無しさん
17/06/02 20:36:39.00 GZbUsfWf.net
>>247 ruby
covf, buff = 'covfefe', ''
buff += covf.chars.sample until buff.end_with? covf
p buff.size

259:片山博文MZ
17/06/02 21:34:10.62 ECCI41T/.net
お題: 2つの別々の牧場ウィンドウがあり、その中に複数の牛がうごめいている。複数の牛を選択して、別の牧場ウィンドウにドラッグ&ドロップできるようにしなさい。

260:デフォルトの名無しさん
17/06/02 21:43:02.00 ZGhpg2JU.net
GUIの課題ってコードも長くなりがちたから答えにくくない?

261:片山博文MZ
17/06/02 21:46:38.91 ECCI41T/.net
賞金は早い者勝ちで三千円。スクリプト野郎どもにはできないだろう。へっ。

262:片山博文MZ
17/06/02 22:03:27.70 ECCI41T/.net
>>256
githubがあるじゃないか。

263:デフォルトの名無しさん
17/06/02 22:03:48.67 doJoDkLD.net
賞金とか誰かと思ったら片山博文MZか。

264:デフォルトの名無しさん
17/06/02 23:44:04.74 cFhdiKGB.net
三千円じゃ安い

265:デフォルトの名無しさん
17/06/03 01:24:32.19 4TZnG99D.net
>>255
動的言語のscriptでもQt,Wxwidget,Tkinterなど色々のGUI fwが使えるから書けるよ。
でも、エッセンスがなく、会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし
趣旨を考えで出題しろよ。
すくなくとも自分で作る気になれる題を出せ

266:デフォルトの名無しさん
17/06/03 01:26:10.05 4TZnG99D.net
>>261
会コードが無駄に長くなるお題は、作成に時間がかかるし獣よな技術はないし

解コードが無駄に長くなるお題は、作成に時間がかかるし技術はないし

267:デフォルトの名無しさん
17/06/03 01:50:43.99 4TZnG99D.net
でも、まぁ地獄の沙汰も金次第というじゃありませんか。
お見積もり30万円以上でしたらpython+tkinterで書いてお納めすtることも
検討させていただきますよ。ハイ
更にハイグレードに300万円だったらPerl+Ptkもお付けいたいます。
いかがですか?だんな
もみ手

268:デフォルトの名無しさん
17/06/03 19:38:09.78 bt+/AaG5.net
【問題】
アルバートとバーナードは、シェリルと友達になったばかりです。
シェリルの誕生日を2人は聞きましたが、彼女は10個の日にちを候補としてあげました。
・5月15日、5月16日、5月19日
・6月17日、6月18日
・7月14日、7月16日
・8月14日、8月15日、8月17日
それからシェリルは、アルバートに「月」だけを、バーナードに「日付」だけをそれぞれ教えました。
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
アルバート「それなら僕もいつだか知っているよ」
シェリルの誕生日はいつでしょうか?
プログラムを書いてプログラムに解かせること。

269:デフォルトの名無しさん
17/06/03 20:24:51.42 LavjhbKR.net
Console.WriteLine("知らんがな");

270:デフォルトの名無しさん
17/06/03 20:43:26.68 GyX0IIiI.net
(begin (display "知らんがな")(newline))

271:デフォルトの名無しさん
17/06/03 21:39:03.81 3br47TQ3.net
print("知らんがな")

272:デフォルトの名無しさん
17/06/03 21:39:54.96 +ZiDT+Cr.net
世界で初めて原爆実験が行われた日を
わざわざ答えに選んだのは何か意図があってのこと?

273:デフォルトの名無しさん
17/06/04 02:59:00.78 vYNPJugT.net
2年前のログ見てみたけどそのときはここに持ちこむ奴いなかったんだな
Prologおじさんとかが嬉々としてやりそうだけど

274:デフォルトの名無しさん
17/06/04 03:31:57.97 JSJPiIxT.net
7月16日

275:デフォルトの名無しさん
17/06/04 11:23:47.25 ICo3ogub.net
>>264 f#
URLリンク(ideone.com)

276:デフォルトの名無しさん
17/06/04 12:17:11.76 /fL6DBjJ.net
>>264 Perl
@md = ([5, 15], [5, 16], [5, 19],
[6, 17], [6, 18],
[7, 14], [7, 16],
[8, 14], [8, 15], [8, 17]);
push @{$c{$$_[1]}}, $$_[0] for @md;
push @{$d{$$_[0]}}, $$_[1] for grep{1 < @{$c{$$_[1]}}} @md;
while (($m, $v) = each %d) {
print "$m/$$v[0]\n" if 1== @$v;
}
実行結果
$ perl 9_264.pl
6/17

277:デフォルトの名無しさん
17/06/04 12:22:24.53 /fL6DBjJ.net
>>272
7月16日が正解なら 解き方間を違えているのかも知れん

278:デフォルトの名無しさん
17/06/04 14:27:12.46 ArM8onCc.net
アルバート「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
5,6月を排除
バーナード「僕はシェリルの誕生日を知らなかったけど、今は知ってるよ」
14日を排除
アルバート「それなら僕もいつだか知っているよ」
残り候補が一つの月 -> 7月16日

279:デフォルトの名無しさん
17/06/04 15:02:32.31 /fL6DBjJ.net
>>272 の解き方で考えたこと
アルバート「僕は(「月」だけしか教えてもらっていないので)シェリルの誕生日を知らないけど、
      (「日付」だけを教えてもらった)バーナードも知らないよ」
⇒「日付」だけ聞けば誕生日だと判明する、即ち日の登場回数が一回だけの月日、
 具体的には5月19日、6月18日は対象外とみなし除去
バーナード「僕は「日付」だけを教えてもらっても)シェリルの誕生日を知らなかったけど、
アルバートが「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」と言うのを聞いて
今は知ってるよ」
⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
 登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
 誕生日だと考えられる。
⇒6/17
この考え方が違ったんだろうな…

280:デフォルトの名無しさん
17/06/04 15:42:35.42 ArM8onCc.net
>>275
アルバートは月を知ってるが、バーナードも知らない事を確信できるのは、
18,19日を含まない7,8月のどちらかという事になる -> 5,6月は全削除
それを聞いてバーナードは誕生日がわかるので、7,8月両方に含まれる14日ではなく、
15,16,17日のどれかになる
それを聞いてアルバートがわかるので、候補が一つしか残ってない7月16日という事になる

281:デフォルトの名無しさん
17/06/04 16:11:15.57 Thsr1gL6.net
6/17の方ぽいね

282:デフォルトの名無しさん
17/06/04 16:23:55.65 8topuOK/.net
5,6月は全排除でしょ

283:デフォルトの名無しさん
17/06/04 16:27:46.47 /fL6DBjJ.net
>>278
そこがオレにはよく理解できていなくてさ。
まぁ言葉にあいまいな面があるかもしれんから解釈に差が出たのかな

284:デフォルトの名無しさん
17/06/04 16:46:10.26 3NGxsH/O.net
>>279
解釈の差だけが問題じゃないだろ
> ⇒日の登場回数が一回だけの19日、6月18日を除去したあと、
>  登場回数が一回だけの日が バーナードの聞いた「日付」に当たり、
>  誕生日だと考えられる。
18日、19日は日の登場回数が一回だけであるということは
他の日は複数回登場するということだからその論理は破綻してる

285:デフォルトの名無しさん
17/06/04 16:54:14.37 /fL6DBjJ.net
>>280
それは誤解というか解読不足。
5月19日、6月18日が除去されることによって、
元々複数回登場していた他の日のうち6月17日が単一の日となり
17日という日付さえ知らされれば、誕生日は6月17日と判明できる。

286:デフォルトの名無しさん
17/06/04 17:03:26.79 ArM8onCc.net
>>281
客観的に見て、アルバートがバーナードも知らない事を確信できる為には、
アルバート自身が知っている月には18,19日が含まれていない必要がある
従って、アルバートが知っている月は5,6月ではないという事

287:デフォルトの名無しさん
17/06/04 17:07:47.61 /fL6DBjJ.net
>>282
なるほど考え方は理解できた。
でも5月6月には他の日もあるからバーナードが聞かされた日がそれらで無いとはっきりしていないうちに
月ごと排除して大丈夫?

288:デフォルトの名無しさん
17/06/04 17:11:33.29 /fL6DBjJ.net
>>281
17日は8月17日もあるから、
6月が17日だけになったからといって、
6月17日が誕生日だとするのは
アルバート、バーナードの台詞を根拠に基づく論理に
無理がないか検証不十分だという気が自分でもしてきた

289:デフォルトの名無しさん
17/06/04 17:12:55.48 ArM8onCc.net
>>283
逆に最初の時点でアルバートはバーナードが知らないとは確信できない
例えばアルバートは6月と聞かされた場合、6月18日の可能性もあるので、
それだとバーナードは18日と聞かされているから知ってるかもしれない

290:デフォルトの名無しさん
17/06/04 17:26:33.24 /fL6DBjJ.net
>>285
大体分かった。ありがとう
単一な日をまったく含まない月を教えられたからこそ、
アルバートは最初の台詞
「僕はシェリルの誕生日を知らないけど、バーナードも知らないよ」
になったという考え方だね。

291:デフォルトの名無しさん
17/06/04 17:30:30.29 ArM8onCc.net
>>286
イエスイエス

292:デフォルトの名無しさん
17/06/04 22:32:17.70 BGwDpUyE.net
ディスコプログラミングコンテスト 2017 7/8
URLリンク(www.disco.co.jp)
の練習問題
URLリンク(www.disco.co.jp)
解答バレにならないように1語だけ書くけど
1問目の
TOUSHITSUWOTOTTE
だけが、わけわからん

293:デフォルトの名無しさん
17/06/05 00:31:08.14 cnQQABDP.net
>>288
Q1といてみたけど
「糖質を摂って」じゃない?

294:デフォルトの名無しさん
17/06/05 08:51:14.13 h9zULQkR.net
糖質を摂って
だよねぇ。
謎のメッセージだな。

295:デフォルトの名無しさん
17/06/05 09:47:23.18 Na336mAM.net
>>290
いやそう謎でもない。
解の文を全部通しで読むと
この前に食べものの話がある。

296:デフォルトの名無しさん
17/06/05 10:35:52.00 S7KIxJHR.net
糖質が頭の働きを良くするという通説と逆に頭を鈍らせるという説があるけど
この会社が前者を支持することを明言する意味がある

297:デフォルトの名無しさん
17/06/05 13:18:37.12 nmQdV7hA.net
例題に挑戦して下さりありがとうございます!全問正解した参加者にはディスコ限定どら焼きをプレゼント!
大会当日に受付でお渡ししします。糖質を摂って優勝目指して頑張って下さい!

298:デフォルトの名無しさん
17/06/05 13:45:37.09 hFu+7Z6c.net
誰が統失だって?

299:デフォルトの名無しさん
17/06/05 17:48:32.89 2PleAf1D.net
ダメじゃん。全解答を書いちゃって。
でも簡単すぎる問題だしどうでもいいか。

300:デフォルトの名無しさん
17/06/26 21:09:32.46 92/cX5j1.net
前にあったやつ。

回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。
コンベアは毎秒1皿分の速度で流れ、目の前の皿を取るか取らないかを選ぶことができる。
皿取ると同時に食べ始め、食べている間は次の皿を取ることができない。
私が取る以外、皿は追加されたり無くなったりしない。
コンベアの状態が次のような文字列で与えられる。 
"31_2"
数字はその皿を食べ終えるのにかかる秒数を表し、_は皿がないことを表す。1文字目が目の前にあり毎秒、左へ回転する。
例えば、"31_2"で最初の皿を食べたとき食べ終わった時の状態は、"2_1_"となる。
すべての寿司を食べ終えるまで最短何秒かかるか求めよ。
"12_3" > 6秒
"313__" > 8秒
"4_35_1264_23_434" > 60秒
"123456789123456789" > 98秒
"88967472612377988186" > 149秒
"19898693316679441672" > 170秒
"93769682716711132249893" > ?

301:デフォルトの名無しさん
17/06/26 22:59:10.29 GM19K0OY.net
計算オーダーの条件は?
無いなら二進木で

302:デフォルトの名無しさん
17/06/26 23:01:34.06 GM19K0OY.net
皿がもうちょっと多いと難しくなるけど、>>296なら力業でも

303:デフォルトの名無しさん
17/06/26 23:40:33.73 JhsaOf6q.net
>>296 Perl
URLリンク(ideone.com)
実行結果は
$ perl 9_296.pl
12_3: 6
313__: 10 (合わない…orz)
4_35_1264_23_434: 62 (合わない…orz)
123456789123456789: 98
88967472612377988186: 151 (合わない…orz)
19898693316679441672: 170
93769682716711132249893: 176
となり、半分が合わない。
そのうち 313__ を手で研鑽すると 10 になるのだが、
313__ は本当に8になるの?

304:デフォルトの名無しさん
17/06/26 23:41:06.22 JhsaOf6q.net
>>299
研鑽じゃねぇや手で起算な。

305:デフォルトの名無しさん
17/06/26 23:45:40.94 JhsaOf6q.net
>>300
起算でもねえ、手で計算な…orz

306:デフォルトの名無しさん
17/06/26 23:58:59.38 92/cX5j1.net
313__ はこれでは?
まず一皿ながして
1を食う、2秒時点の状態  3__3_
3を食う、5秒時点の状態  3____
3を食う、8秒で食べ終わり

307:デフォルトの名無しさん
17/06/27 00:02:53.75 5fkiI7k4.net
>>302
そっか、最初の3を食べちゃったら最短時間にならないな
>>299は最初の皿からダボハゼみたいに食いつくので必ずしも最短にはならないな
きっと腹が減りすぎていたんだろう…orz

308:デフォルトの名無しさん
17/06/27 00:12:08.45 PK1LDhK1.net
>>296 は、
目の前にあるやつを食べ続けるだけで最短になっちゃうのもあるってことか。

309:デフォルトの名無しさん
17/06/27 00:46:54.34 v9AhJc3r.net
>>296
URLリンク(ideone.com)
計算量は2^n*n (n:コンベアの長さ) n=24はほぼ限界
n!をbitDPで計算量落とす。
(空皿処理で昔より手を抜いている)

310:デフォルトの名無しさん
17/06/27 08:18:25.38 bJ//gE7J.net
考えてみたけと計算オーダーを減らすのはむずかしいね
枝刈りは色々と出来るけど

311:デフォルトの名無しさん
17/06/28 00:38:04.57 SkQPDtDj.net
>>218 Perl
URLリンク(ideone.com)
ソースコード4行目の
my $n = 8; # 分割する自然数を設定
の8を書き換えると他の整数についてもヤング図形を出力できます。

312:デフォルトの名無しさん
17/06/28 10:38:30.75 +O8L6XqQ.net
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
URLリンク(twitter.com)
367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
URLリンク(b.hatena.ne.jp)
372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな
376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。

313:デフォルトの名無しさん
17/06/28 10:38:43.66 +O8L6XqQ.net
瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
URLリンク(www.atmarkit.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている
全ベンダーが泣いた民法改正案を解説しよう その1
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
ポイント1:修補や損害賠償、契約解除の期限がなくなる
従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。
もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。

314:デフォルトの名無しさん
17/06/28 10:56:55.66 fzKvr8sM.net



315:コピペマン参上!!まで読んだ



316:デフォルトの名無しさん
17/06/28 22:13:35.80 CE32dHls.net
>>305
修正 URLリンク(ideone.com)
経路情報復元(ベストは複数あるかもしれない中から一つ選んで)。
ついでにその経路での途中経過を表示してみた。
インデックス、待機秒数、開始時間、食事秒数、終了時間、

317:デフォルトの名無しさん
17/06/28 23:25:36.64 KJ5QOfYg.net
>>218 >>307 Perl
URLリンク(ideone.com)
再帰を使わず、リスト処理とloopで書き直したら
もう少しコンパクトですっきりしたものになりました…

318:デフォルトの名無しさん
17/07/01 18:47:40.02 tnFwdv+3.net
前に書いたけどコード紛失した。

319:デフォルトの名無しさん
17/07/01 21:49:46.76 WoDBh/Wa.net
お題: パスカルの三角形

320:デフォルトの名無しさん
17/07/01 22:05:06.08 1Cx1myAa.net
>>314
良いお題だね

321:デフォルトの名無しさん
17/07/02 13:43:30.38 bHJ33QxN.net
>>314 Perl5
URLリンク(ideone.com)
桁の多い数値の幅を反映して数値間の空白の数を決めれば
数値の位置がもう少し見やすくなるとおも…

322:デフォルトの名無しさん
17/07/03 08:12:51.85 EltE6GHS.net
お題:完全なヤング図ソルバー。
URLリンク(ideone.com)
書いてみたけど、不完全なのがやっとだった。
あってるかもわからん。
図の効率がいいほど評価が上がります。

323:デフォルトの名無しさん
17/07/04 21:28:12.76 QK6Kginy.net
>>296 >>299 Perl5
URLリンク(ideone.com)
リスト処理ではなく、先ずは正規表現と文字列処理を使って書いてみた。
31…の3のように、食べているうちに後続の数値皿が通り過ぎてしまうような、
取りこぼしを起こし得る皿では、その数値を食べるか、あるいはスルーするか、
再帰的に両方に分岐し、木構造で計算しているが、
逆に食べている間に飛び越しを起こさないところでは、分岐が不要なので
来た順に直ちに食べることによって、枝分かれの過剰な細分化を抑制した。
それでも全探査すると、サンプルデータの三つ目まではすぐ解けるが、
四つめ以降は時間がかかりいつ終わるか分からない。
そこで、検索された食事秒数の最小値の更新状況を記録し、
同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
最短値に収束したと見なし、探索を打ち切ることによって短時間で
解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
今回のサンプルデータについては4か5で十分そうだ。
なお、23_ のような、2を食べることによって飛び越しを起こすポイントの
一番最後のものは,食べずにスルーして先に2を食べた方が、
次の周で早く食べ終わることは明らかだ。
これを演繹的に繰り返して、遡ってゆけば、上記のように木構造に
わたって動的に計算して探索しなくても、静的に求解できそうな気がしたが
難しそうなので、見送った。

324:デフォルトの名無しさん
17/07/04 21:31:48.78 QK6Kginy.net
>>318
書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
打ち切るという、簡単な枝刈りを取り入れてあります。
連投スマソ

325:デフォルトの名無しさん
17/07/04 23:51:29.56 sQGcZTdy.net
>>318
枝刈りで最短を刈り取ってしまったら駄目じゃないか
例えば "3324" -> 15秒 にならないな

326:318
17/07/06 00:31:45.46 iCfNzc8Y.net
>>320
誤解�


327:ナす。 枝刈りは、ある探索中の枝において始点から既に経過した秒数が それまでの別の枝における探索で最後まで食べた最小秒数を超過したら、 現在の枝の探索はもうこれ以上進んでも秒数が増える一方なので打ち切って 別の枝の探索に移るというものなので大丈夫です。 "3324" の最短秒数を探索すると 15秒になります。



328:デフォルトの名無しさん
17/07/06 00:52:46.56 ywrsmrRJ.net
>>321
あれ、変だな
>>318のリンク先のコードで"3324"を計算すると 16 になるんだけどこっちの環境が変なのかな?
同様に"3328"、"3364"は最短19秒だけど>>318だと20になった

329:318
17/07/06 01:20:52.00 iCfNzc8Y.net
>>322
同じコードをideoneに張りなおして3324を入力して実行してみました。
URLリンク(ideone.com)
ソースを一箇所編集しています。
31 die if $hit >= 20; # 一定以上同じ最小値が繰り返し計算されたら収束と判定し脱出
の繰り返し回数上限判定地を10から20に増やしています。
3324は15になりますが、15が登場するのは11回目以降でそれまで16が出続けます。
3364も20が10回繰り返した後19が出て続きます。
お手数おかけしますが
一定以上同じ最小値が繰り返し計算されたかの判定値を10より多くして
評価してください。

330:318
17/07/06 01:35:51.32 iCfNzc8Y.net
>>323
3324と3364の解を見ていて気が付いた点があります。
一定以上同じ最小値が繰り返し計算されたかの判定値を20にしていますが、
3324の15や3364の19は20ではなくて13回しか現れず、これが最小値のため
解として表示されています。
これは、3324の15や3364が4桁しかないので、
最小値が20回現れる前に全探査が完了し、その中で見つかった最小値を
解として表示していることによります。
>>318の一定回数繰り返したら収束とみなすという判定方法は、
ニュートン法のような数値計算では有効ですが、
>>296の問題の解の判定方法としては適切とは言えないかもしれませんね…orz

331:デフォルトの名無しさん
17/07/06 01:53:08.89 bBo7q2K6.net
3324を拡張した887654329は閾値どれくらい増やせば対応できるんですかね

332:318
17/07/06 02:06:40.59 iCfNzc8Y.net
>>325
延々探索を続けないと解に至らないかもしれない入力については
定数で打ち切りを決めるこの解法じゃ解に至りにくいかもしれない。
887654329がそういったカテゴリーに属する入力かというと
チョット分からない。
なので適切な閾値はこれだと断言しにくいです。
さーせん

333:デフォルトの名無しさん
17/07/06 21:08:21.84 ywrsmrRJ.net
>>326
結局>>321は大嘘だったし、閾値20の>>323にしたところで
例えば"14432"は最短にならないし
閾値が決められないならその解法はやはり駄目だな

334:318
17/07/06 22:03:39.91 0agEc1HZ.net
>>327
閾値20で打ち切ると最小に至らない入力もあるのはそうだけど、
計算しても最小を更新しない枝に降りずに切り上げてくる>>321は嘘ではないよ。

335:318
17/07/06 22:08:34.07 0agEc1HZ.net
見込みの無い枝をもっと早めに切り上げらる方法がありそうだと気が付いた。
それによって20で打ち切るようなやり方を改善できればいいんだけれども…
それでも計算量が増えていくと、真の解に至るまでにかかる時間が増大して
とけなくなる

336:デフォルトの名無しさん
17/07/06 23:01:53.78 ywrsmrRJ.net
>>328
閾値20で打ち切るのは枝切りじゃないという主張のようだけど
打ち切るという動作は枝切り以外の何物でもない
>>318は”3324”の最短に到達しないから>>321
> "3324" の最短秒数を探索すると 15秒になります。
というのも嘘

337:318
17/07/06 23:19:13.87 0agEc1HZ.net
>>330
絡むね。そんな暇あったらコードでも書けばいいのにw
閾値20でその入力については解の探査を�


338:~めて 別の枝に移らず次の入力データに移るのはどちらかといえば中断で、 枝かりではないでしょ。 >319 > >>318 > 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら > 打ち切るという、簡単な枝刈りを取り入れてあります。 にかいてあるでしょうに。 >>318は”3324”の最短に到達しないから>>321の > "3324" の最短秒数を探索すると 15秒になります。 >というのも嘘 これは10回の打ち切りの緩和を書きもらしたんだよ。 何が狙いで、こだわって絡んでくるやらねぇ。



339:318
17/07/06 23:37:37.26 0agEc1HZ.net
「打ち切る」という言葉を
>318
>…
>同じ最小値が一定回数以上連続して繰り返し検出されるようになったら
>最短値に収束したと見なし、探索を打ち切ることによって短時間で
>解を出力できるようにした。打ち切り上限は10をハードコードしてあるが
では「その入力に対する求解を中断する」ところで使い、
>319
> >>318
> 書き忘れたけど、食事秒数を探索中に、それまでに見つかっている最小病数を超えたら
> 打ち切るという、簡単な枝刈りを取り入れてあります。
では「その枝の下の方への探索をせず、別の枝の探索に移る」枝刈りの
ところで使ったのが誤解を招いてしまったのかな…

340:デフォルトの名無しさん
17/07/07 04:22:27.25 pbX9YCbr.net
3次の動的計画法ってどんだけメモリ食うんや?

341:デフォルトの名無しさん
17/07/08 03:20:24.48 hDxZO8qP.net
お題: 自然数Nの平方根を整数部含めて(1000*N)桁求めたとき、出現する0の個数を数える
たとえば、N = 4の時ルート4を4000桁(整数部1桁+小数部3999桁)求めたとき、出現する0の個数は3999個
N = 3 => ?
N = 5 => ?
N = 7 => ?

342:デフォルトの名無しさん
17/07/08 03:22:50.68 5gcIwgbE.net
ブロックチェインの新手のコイン発掘か?

343:デフォルトの名無しさん
17/07/08 03:59:02.35 kzKE4jeR.net
>>334 Ruby
require 'bigdecimal'
[3, 4, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, ("%.#{n}f"%BigDecimal(i).sqrt(n)).count(?0)]
}

N = 3 => 2956
N = 4 => 3999
N = 5 => 4956
N = 7 => 6954

344:デフォルトの名無しさん
17/07/08 04:25:25.94 kzKE4jeR.net
>>336はミス。0がこんなに多いわけがない
require 'bigdecimal'
[3, 5, 7].each{|i|
n = 1000*i - 1
puts "N = %i => %i"%[i, BigDecimal(i).sqrt(n).floor(n).to_s(?F).count(?0)]
}
N = 3 => 309
N = 5 => 492
N = 7 => 738

345:デフォルトの名無しさん
17/07/08 07:13:48.73 hDxZO8qP.net
>>337
N = 5の場合が間違ってると思う
多分、丸めモードの関係か、精度が足りてないと思われる

346:デフォルトの名無しさん
17/07/08 09:51:11.17 3gkxwDpM.net
>>334 C++
#include <iostream>
#include <string>
#include "gmpxx.h"
int main () {
  int sq_me;
  while( std::cin >> sq_me ){
    int prec = 1000*sq_me, cnt = 0;
    mpf_class sq_out = sqrt( mpf_class(sq_me, prec*4) );
    mp_exp_t exp;
    auto str = sq_out.get_str( exp,10,prec );
    for( auto it=str.begin(); it!=str.end(); it++ ) if( *it=='0' ) ++cnt;
    std::cout << "N = " << sq_me << " => " << cnt+prec-str.length() << '\n';
  }
}
N = 3 => 309
N = 5 => 493
N = 7 => 738
N = 11 => 1079
N = 13 => 1305
N = 17 => 1664
N = 19 => 1875
N = 23 => 2265
N = 29 => 2911
N = 31 => 3113
N = 37 => 3795
N = 41 => 4095
N = 43 => 4312
N = 47 => 4798
N = 53 => 5340

347:デフォルトの名無しさん
17/07/08 11:54:07.74 H5pSyGdF.net
>>334 Squeak/Pharo Smalltalk
| sqrt |
sqrt := [:n :m |
 "ref. URLリンク(xar.sh) "
 | a b |
 a := 5 * n. b := 5.
 [:exit | [
  a >= b ifTrue: [a := a - b. b := b + 10] ifFalse: [
   b log > m ifTrue: [exit v


348:alue] ifFalse: [     a := a * 100. b := b // 10 * 100 + (b \\ 10)    ]   ]  ] repeat] valueWithExit.  b ]. #(3 5 7) collect: [:i | i -> (((sqrt value: i value: i*1000) asString first: i*1000) occurrencesOf: $0)] "=> {3->309 . 5->493 . 7->738}"



349:デフォルトの名無しさん
17/07/08 12:18:57.24 hDxZO8qP.net
>>339
N = 29とN=41の場合が間違ってる可能性? それ以外は正しい模様
N = 29 => 2912、N = 41 => 4094 じゃなかろうか
>>340
合ってる

350:デフォルトの名無しさん
17/07/08 12:48:13.59 1hnJaOYb.net
>>334 Perl5
URLリンク(ideone.com)

351:デフォルトの名無しさん
17/07/08 13:10:39.20 1hnJaOYb.net
>>334 Perl5
URLリンク(ideone.com)
>>342 をもう少しすっきり書けたので差し替え。

352:デフォルトの名無しさん
17/07/08 13:31:31.09 3gkxwDpM.net
>>341
> N = 29 => 2912、N = 41 => 4094 じゃなかろうか
それが正しいようです
GNU MPだとどうしても最後の桁は四捨五入?されるようで
任意のNに対して正確な答えを出すのは面倒なので修正は断念

353:デフォルトの名無しさん
17/07/09 10:26:36.71 aJSGzdPS.net
結局バイナリーツリーになっちゃったなぁ。むずかし。

354:デフォルトの名無しさん
17/07/09 10:55:01.51 xLkjNLhf.net
>>344
考え直したら面倒じゃなかった
>>334 C++
URLリンク(codepad.org)

N=10000くらいまでなら現実的な時間で計算出来そうだ

355:デフォルトの名無しさん
17/07/09 11:25:12.20 nhQrw0mT.net
N=100000, 1億桁のくらいなら現実的な時間で出来る
丸めは切り捨て?四捨五入?

356:デフォルトの名無しさん
17/07/09 11:33:40.13 nhQrw0mT.net
ルートの計算は速い
整数のルートは特に速い

357:346
17/07/09 12:21:20.78 4Kodr3MO.net
>>347
GNU MPだとget_str() とか gmp_sprintf() では四捨五入されるようなので
floor() であらかじめ切り捨ててから get_str() した

358:デフォルトの名無しさん
17/07/09 12:57:37.64 DBjzEn12.net
ルートの問題で初めてきたが、これってゼロの個数に上限があるのか? 簡単に求まるのか?
連続するゼロの個数の最大だろ?
無理数は規則なく無限に続くから、ゼロの個数ももし1000個連続が見つかれば、1001個もいつかでるとおもうんだが。

359:デフォルトの名無しさん
17/07/09 13:14:46.15 df6kAKcY.net
最大って何の話しとるんや

360:デフォルトの名無しさん
17/07/09 13:28:51.97 DBjzEn12.net
もとめる桁数のほうに上限があったのか、それを見逃してた。

361:デフォルトの名無しさん
17/07/09 13:45:03.68 NvRZfELm.net
連続する個数でもないぞw

362:デフォルトの名無しさん
17/07/09 13:51:59.10 DBjzEn12.net
どっちも間違えたな、ゼロの総数だったか。

363:デフォルトの名無しさん
17/07/09 19:14:37.92 6MYOcrZ9.net
>>349
floorを行った後の結果に誤差は無い
という検証は出来てるの?
何もしてないなら、それはたまたま偶然当たったっていうだけだぞ
ていうか、君には聞いてない
出題者の意図を聞いてる

364:デフォルトの名無しさん
17/07/11 15:16:56.21 1hL73PK3.net
√2でなるべく長い0の連続をみつけるは?

365:デフォルトの名無しさん
17/07/11 15:49:47.43 QxseLuPf.net
>>355
君には向いて無いよ

366: ◆QZaw55cn4c
17/07/11 16:29:49.99 ZfeFayuI.net
>>355
>floorを行った後の結果に誤差は無い
>という検証は出来てるの?
ぱっとみ当然だと思うんだが
>>356
何桁求めるか指定しないと意味がないのでは?

367: ◆QZaw55cn4c
17/07/11 16:35:18.57 ZfeFayuI.net
>>358
ん、考え直した
10進に変換した結果にて 99999 とかが末尾にあるようでは、余分の計算はしないと


368:いけないね



369:デフォルトの名無しさん
17/07/11 18:55:08.87 dSS1j36W.net
[][Tebla][]
}
000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS
001-GYORLith"0\R"/"ESUBA"%$%
HADO-"EM","L","O","NU"###END

370:デフォルトの名無しさん
17/07/14 06:57:35.22 PYQ8V1MO.net
>>296
URLリンク(ideone.com)
C++。解けた気がする。
状態をメモ化してみた。
何で動いてるのか自分でもよくわからない。
暇だったので解いてみた。

371:デフォルトの名無しさん
17/07/14 07:42:51.88 PYQ8V1MO.net
あー多倍長精度演算ほしー。もちろん標準で。

372: ◆QZaw55cn4c
17/07/14 07:55:58.80 TDGI45F0.net
>>362
私も欲しかったので作ってしまった、今 >>334 を奮闘中

373:デフォルトの名無しさん
17/07/14 07:56:52.78 PYQ8V1MO.net
>>363
それはすごいな。
後々破棄するようなものを作るモチベーションが出てこないよ。

374:デフォルトの名無しさん
17/07/14 07:57:44.37 TDGI45F0.net
>>364
書き捨てに慣れてしまったんだ‥

375:デフォルトの名無しさん
17/07/14 07:59:21.83 PYQ8V1MO.net
>>365
あはは・・・。
コード書き捨てるのは良いけど、道具書き捨てるのは俺には向いてないわ。
なので、標準待ち。

376:デフォルトの名無しさん
17/07/14 09:33:33.04 gEZu1299.net
boostという任意倍長の計算Libraryがあります。
C++では使えるそうです。

377:デフォルトの名無しさん
17/07/14 09:38:45.73 PYQ8V1MO.net
>>367
Boostも良いんだけどね。残念なことにあれは実験環境で準標準って扱いなんだよなぁ。
あれから取り入れられるライブラリも多いんだけど、標準じゃないからね。
残念なことに。

378:デフォルトの名無しさん
17/07/14 12:49:16.12 gnKUWanp.net
まあ標準ライブラリしか使わない縛りをしたければ好きにすればいいんじゃない?

379:デフォルトの名無しさん
17/07/14 14:27:07.19 JyiCltLg.net
車輪の再発明

380:デフォルトの名無しさん
17/07/14 14:31:43.15 DwybRUfK.net
競プロみたいな相手方の環境使う物だと標準と準標準の差はでかい
自分の環境なら導入すればいいだけだが

381: ◆QZaw55cn4c
17/07/14 18:52:31.62 TDGI45F0.net
>>370
個体発生は系統発生を繰り返す

382:デフォルトの名無しさん
17/07/15 12:42:06.98 odVkuNfb.net
>>361
厳密解を出しているのなら、チャレンジ
(わかって近似値解狙いなら気にしないで)
"14432" と "887654329"
両方とも既出の"貪欲つぶし"(?)数列
"14432"は 20秒 (ゼロインデック順で02341)
"887654329"は 80秒(同123456708)でいける。

383:デフォルトの名無しさん
17/07/15 14:59:21.20 OEoVgGO0.net
>>373
URLリンク(ideone.com)
C++。それ解くとほかの問題が解けなくなる。
厳密解のつもりだったが、ちょっと自分の領分超えてるなぁ。
うまくいかないものだ。
真実が奥の方にあると貪欲法は弱いな。Orz

384:デフォルトの名無しさん
17/07/16 16:33:07.01 8ZBD9z9c.net
お題:
自分用多倍長整数演算関数
…って思ったけど、処理系の標準ではないとか、仕事でGNU MP使っては駄目とかの
制約で、簡易的なもの(乗算くらいまでとか)を書いた事ある人は少なくないと見た。

385:デフォルトの名無しさん
17/07/16 18:30:49.57 8+Akms5T.net
多倍長整数演算がサポートされている言語を使う
終わり

386: ◆QZaw55cn4c
17/07/16 18:54:09.85 eA1jggM5.net
>>375
C++98 URLリンク(codepad.org)
オートボクシング等はなく便利にはできていない.

387:デフォルトの名無しさん
17/07/16 2


388:0:34:05.63 ID:yctBkD01.net



389: ◆QZaw55cn4c
17/07/16 20:36:24.09 eA1jggM5.net
>>378
うん,FFTを使うそうだが‥いまいちよくわからない

390:375
17/07/16 20:41:46.81 8ZBD9z9c.net
>>376
仕事で言語を選べる立場になってみたいものだわ。
この言語でやってってののは多々あるけど…orz
>>377
Karatsuba-Ofman法を目指してごーごー

391:デフォルトの名無しさん
17/07/17 22:48:25.95 5edeqhg+.net
>>296
手計算で計算出来るレベルにまで計算量を減らせた
もちろん数学的な裏付け付きで
ある条件を見たせば一瞬で求まる
"123456789123456789" > 98秒
残念ながら、これだけはその条件を満たしてない

392:デフォルトの名無しさん
17/07/18 06:37:17.84 nFCFlf58.net
>>381
22とか2323もその条件を満たしてない感じ?

393:デフォルトの名無しさん
17/07/18 07:37:05.09 Ew0RSScO.net
22 は微妙
2323 は大丈夫

394:デフォルトの名無しさん
17/07/18 07:41:44.22 Ew0RSScO.net
まだコードになってないんで、
コードになったらアップします
寿司を食べる時間 < レーンの回転周期
という前提をつけちゃおうと思ったけど、
つけない方が良さそうですね
寿司を食べる時間がレーンの回転周期の整数倍の寿司は
ちょっと特別な処理が必要

395:デフォルトの名無しさん
17/07/18 08:01:32.43 Ew0RSScO.net
整数倍の寿司が無いもので
条件に当てはまらない最小は
2222
かな

396:デフォルトの名無しさん
17/07/18 08:49:51.93 YLlwVFMJ.net
>>334 SageMath
URLリンク(sagecell.sagemath.org)
普通に(?)多桁のisqrt()なので何の捻りも無し。

397:386
17/07/18 09:39:56.20 YLlwVFMJ.net
>>339
つ mpz_sqrt()

398:デフォルトの名無しさん
17/07/19 18:12:29.37 Np9hKHT2.net
>>296
>>373
URLリンク(ideone.com)
C++。結局、i7-6700のmem2G使って7分で解けた。
どうしようもない位遅いな。
でも一応題意には添えたと思う。
もう見たくない・・・。Orz
高速化するにはインラインアセンブリ使うか、スレッド分割できるようなアルゴリズムかんがえるか。
よくわからんけど、数学で頑張ってる人に期待だ。

399:386
17/07/20 01:57:16.81 Q7XnESC/.net
100のべき乗に変更
URLリンク(sagecell.sagemath.org)

400:デフォルトの名無しさん
17/07/21 15:21:18.13.net
>>296
URLリンク(ideone.com)
C++。試しに再起化してみたら処理速度倍になった。
自分の環境では3分ちょいで解ける。
相変わらずメモリ馬鹿食いするけど。
もう俺には無理。
俺の中では終了でーす。Orz

401:デフォルトの名無しさん
17/07/22 08:54:36.28 OQXA8cUK.net
>>388
数学で頑張ってる人だけど、
もうちょっとまって
>>296の問題だけなら簡単だけど、
まだ全体を解明できてない
というか、忙しくて>>381から進んでない

402:デフォルトの名無しさん
17/07/22 08:55:28.19 OQXA8cUK.net
このスレが無くならないうちに解明します

403:デフォルトの名無しさん
17/07/22 10:43:30.03 apsnR2Z0.net
>>391
wktkデス!
コード見るのが好きなのでぜひ完走していただけたらと思います。

404:デフォルトの名無しさん
17/07/23 11:26:56.94 ipiEUPYV.net
>>375
のほかの実装はでてこないねぇ‥

405:デフォルトの名無しさん
17/07/23 12:53:55.68 7fREas1L.net
>>394
使えるコードにするためには、規模がでかくなりすぎるから

406:デフォルトの名無しさん
17/07/23 14:15:20.13 ipiEUPYV.net
C/C++ で最長1000行ぐらいとみて、2日ぐらいあれば、とりあ�


407:ヲず動く 土日で仕上がってくるんじゃないかと期待してたんだが



408:デフォルトの名無しさん
17/07/23 14:18:11.58 7fREas1L.net
速度が考えられてないコードなんて実用にはならないよ

409:デフォルトの名無しさん
17/07/23 14:21:31.79 7fREas1L.net
ていうか、
コードに対する条件とか
サポートする機能とか
条件が無さすぎる

410:デフォルトの名無しさん
17/07/23 14:24:57.75 ipiEUPYV.net
速度‥か‥
どうしてもローテートとかキャリーフラグとかを使いたいから、これはアセンブラの領域になるね
よくみかけるアセンブラ中毒者が今頃爪を研いでいるのだろうか?

411:デフォルトの名無しさん
17/07/23 14:25:42.29 ipiEUPYV.net
>>398
そこは「自分用」だから自由に決めていいんでないかい?

412:デフォルトの名無しさん
17/07/23 14:49:34.77 TcY6qE9r.net
>>394
当日に >>305>>390 より10倍以上早いのがでているだろう。
しかも 計算量まで書いてある

413:デフォルトの名無しさん
17/07/23 14:53:19.94 ipiEUPYV.net
>>401
お題が違うのでは?

414:デフォルトの名無しさん
17/07/23 15:05:28.62 TcY6qE9r.net
>>402 >>394
確かに違った、すいません。
c++多倍長なら、karatsubaにも対応して300行くらいの以下をパクって使うのも一案
URLリンク(sites.google.com)

415:デフォルトの名無しさん
17/07/23 15:09:21.91 ipiEUPYV.net
>>403
base 10進ならば、表示(operator<<) が楽でいいね、なるほど、それは思いつかなかった

416:デフォルトの名無しさん
17/07/23 16:51:44.88 7fREas1L.net
>>399
通常、
処理時間のほとんどが乗算
乗算のほとんどがFFT
アセンブラの出番は当分先

417:デフォルトの名無しさん
17/07/23 16:52:43.21 7fREas1L.net
FFTのライブラリをどこからか持ってくるのでもいいけど、
それなら素直に多倍長ライブラリを持ってくれば
ってことになる

418:デフォルトの名無しさん
17/07/23 16:54:07.19 7fREas1L.net
今は浮動小数点演算が速いので、
カラツバの出番はあまりない

419:デフォルトの名無しさん
17/07/23 18:50:17.74 5CSy1R8t.net
基数を10のべき乗にするとか(printf()的なものが簡単だから)、乗算はunsigned shortやintとの
乗算に限るとか、除算無しとかいうのは…
プログラムの本体に組み込まれてしまって、再利用可能なライブラリの形で括りだされてる事の
方が少ないかw

420:デフォルトの名無しさん
17/07/24 00:48:44.80 XgJeE+LA.net
>>6-285 SageMath
URLリンク(sagecell.sagemath.org)

421:デフォルトの名無しさん
17/07/24 18:24:00.06 UuUAOyUA.net
>>408
裁定ラインとしては、乗算は Bigint×Bigint、および除算の実装ですかね、でも足し算の回数での乗算や引き算の回数での除算は嫌ですね

422:デフォルトの名無しさん
17/07/24 18:58:12.05 5ve8i6tz.net
お題:お題スレ3の>>170をファレイ数列を使って解く。
スレリンク(tech板:170番)

423:デフォルトの名無しさん
17/07/24 19:10:35.21 nJVItCRy.net
>>411 Ruby
def farey_sequence(n)
(1..n-1).map{|i| 1r*i/n}
end
def ans_411(m)
(2..m).map{|i| farey_sequence(i)}.flatten.uniq.sort
end
ans_411 3 #=> [(1/3), (1/2), (2/3)]
ans_411 5 #=> [(1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5)]

424:デフォルトの名無しさん
17/07/24 19:11:05.16 7nQ6Z7f9.net
>>296
超高速版が出来ました!
URLリンク(ideone.com)
一皿9秒が上限であれば、計算オーダーはn
関数自体は何秒でも大丈夫です
コードだけじゃ意味がわからないでしょうけど、とりあえずコードだけ
あまりテストしてないので、バグって�


425:スらごめんなさい



426:デフォルトの名無しさん
17/07/24 23:00:47.69 fjGi9Yh0.net
オーダーnは凄いな

427:デフォルトの名無しさん
17/07/25 05:40:32.49 ubbfnjuS.net
>>413
うーんわからん。
俺の思考とは別系統かな。
ホントに0秒で解けてるし、素晴らしい。
素直に賞賛。

428:デフォルトの名無しさん
17/07/25 11:52:16.57 bLUUDw7G.net
回転寿しの問題は、部分的な最短経路が全体の最短経路にならないんだよな
だが最短時間はレーン長の2倍程度の再帰回数で出る
そのあと数十億回再帰して総当たりしてもそれより短くならない
最後の皿から逆方向に探索してもおそらく同じ状況

429:デフォルトの名無しさん
17/07/25 11:56:47.84 bLUUDw7G.net
例えば、”122” は最短時間6だが、1周目で2番目の要素”2”をパスしないとそうならない

430:411
17/07/26 19:54:35.63 6H34MdHA.net
>>412
ファレイ数列の中間数(mediant)を再帰的に生成すると、uniqもsortも要らないのだけど、
mが3や5だと大差無いかw

431:デフォルトの名無しさん
17/07/26 20:50:49.45 s8dUUqTb.net
>>411
リンク先が見えません
問題文をもう一回書いてください

432:デフォルトの名無しさん
17/07/26 20:52:34.29 s8dUUqTb.net
と思ったら見れました
ファレイ数列を使って何かを解くわけじゃなくて、
ファレイ数列を求める問題?

433:411
17/07/26 23:20:07.89 6H34MdHA.net
>>420
元の問題はそういうもの(=ファレイ数列の両端(0/1と1/1)無し版を求める問題)と
解釈してますです。

434:デフォルトの名無しさん
17/07/26 23:26:01.52 lPM9zwS7.net
#include <list>
#include <iostream>
const int N_MAX = 10;
struct RATIONAL {
int num;
int den;
};
int main() {
std::list < RATIONAL > farey;
RATIONAL zero = {0, 1};
RATIONAL one = {1, 1};
farey.push_back(zero);
farey.push_back(one);
for (int n = 1; n <= N_MAX; n++){
for (std::list < RATIONAL > ::iterator i1 = farey.begin(), i0 = i1++; i1 != farey.end(); i0 = i1, i1++) {
if (i0->den + i1->den <= n) {
RATIONAL m = {i0->num + i1->num, i0->den + i1->den};
farey.insert(i1, m);
}
}
std::cout << n << " : ";
for (std::list < RATIONAL > ::iterator i = farey.begin(); i != farey.end(); i++) {
std::cout << i->num << "/" << i->den << " ";
}
std::cout << "\n";
}
return 0;
}

435:デフォルトの名無しさん
17/07/26 23:29:22.49 lPM9zwS7.net
これから0と1を除けば良いって問題であれば、
表示のループに以下を加えれば
if (i->den != 1)

436:デフォルトの名無しさん
17/07/26 23:31:57.11 lPM9zwS7.net
問題の意味も意図も良くわからん
出題者が「そういうものと解釈しています」とか
出題者が >>418 みたいな回答をバカにする発言とか
なんか非常に感じが悪い

437:412
17/07/27 00:12:38.86 qteH6K3e.net
そもそも>>412のfarey_sequenceは定義が間違ってたわ
んでもって再帰にすると>>412より遅くなるという
Ruby
class Farey
def self.[](m)
if m == 1
[0r, 1r]
else
succ(m - 1)
end
end
def self.succ(m)
self[m].each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == m + 1
s << b
}
end
end
Farey[3] # => [(0/1), (1/3), (1/2), (2/3), (1/1)]
Farey[5] # => [(0/1), (1/5), (1/4), (1/3), (2/5), (1/2), (3/5), (2/3), (3/4), (4/5), (1/1)]

438:デフォルトの名無しさん
17/07/27 01:59:46.61 GuEy9AL1.net
>>411 Java
URLリンク(ideone.com)

439:デフォルトの名無しさん
17/07/28 18:51:16.80 XBSdfIgC.net
>>375
のほかの実装はでてこないねぇ‥

440:デフォルトの名無しさん
17/07/28 19:19:26.77 mqZJq6H+.net
昔brainf**kで実装したのあるけどちょっとなぁ

441:デフォルトの名無しさん
17/07/28 19:24:55.65 WViVOgsq.net
また懐かしい言語を

442:デフォルトの名無しさん
17/07/28 19:26:36.86 WViVOgsq.net
どうせならチューリングマシンで作ってよ

443:デフォルトの名無しさん
17/07/30 10:59:37.37 A7gIx2b1.net
お題:MathematicaのFareySequence[n,k](引数2つ)に相当するものの実装
URLリンク(reference.wolfram.com)

444:デフォルトの名無しさん
17/07/30 11:53:03.31 EQKnHSgY.net
>>431
URLリンク(ideone.com)
C++。一瞬計算が合わなくてビビったけど、空目だった。
インデックス概念がベーシックなんだな。

445:デフォルトの名無しさん
17/07/30 12:00:36.94 EQKnHSgY.net
っていうか、この関数インデックスに0与えたら何が出力されるんだろう・・・。
早速バグってる気がする。

446:デフォルトの名無しさん
17/07/30 12:15:40.85 EQKnHSgY.net
>>432
バグってた。のでエディトしてFIXした。
所持する数の概念勘違いしてた。

447:デフォルトの名無しさん
17/07/30 12:25:59.30 B3p9Yl5S.net
>>422の微妙な変更でいいよね

448:デフォルトの名無しさん
17/07/30 12:26:41.34 B3p9Yl5S.net
1個だけ求めるなら、もっといい方法がある?

449:デフォルトの名無しさん
17/07/30 12:27:22.69 B3p9Yl5S.net
ていうか、いい加減Fareyはもういいでしょ
他の課題の方が

450:デフォルトの名無しさん
17/07/30 12:30:15.15 EQKnHSgY.net
フィボナッチって素数何だっけ?

451:デフォルトの名無しさん
17/07/30 12:44:33.08 B3p9Yl5S.net
1, 1, 2, 3, 5, 8, ...
違うよね

452:デフォルトの名無しさん
17/07/30 12:47:15.18 EQKnHSgY.net
だよねー。>>422ってフィボナッチ使ってない?
あんまり深く考えてないだけど。Orz

453:デフォルトの名無しさん
17/07/30 12:47:30.85 B3p9Yl5S.net
じゃあ、任意の二個の数からはじまるフィボナッチ数列で、はじめから連続する素数の数が多い物を探す
って課題で

454:デフォルトの名無しさん
17/07/30 12:48:36.68 B3p9Yl5S.net
>>440
フィボナッチではない
wikipediaにのってるレベルの知識で作った

455:デフォルトの名無しさん
17/07/30 12:49:05.29 EQKnHSgY.net
あれ?俺とんちんかんなこと言ってるか?
>>422が数列としてあってるのかよくわからない。Orz
どう考えればいいんだろう。

456:デフォルトの名無しさん
17/07/30 12:53:04.00 EQKnHSgY.net
まぁ、俺のもあってるかどうかはしらんけど。><;

457:デフォルトの名無しさん
17/07/30 12:56:43.60 EQKnHSgY.net
頭悪くてゴメン。爆発しそう。。。

458:デフォルトの名無しさん
17/07/30 13:01:05.96 EQKnHSgY.net
引っ込む。すまんかった。

459:デフォルトの名無しさん
17/07/30 14:17:22.65 t+CfDp82.net
>>431 Java
URLリンク(ideone.com)

460:デフォルトの名無しさん
17/07/30 19:16:10.29 LizATlBz.net
>>431 Ruby
def farey(n, k)
return [0r, 1r][k] if n == 1
farey(n - 1, 0..-1).each_cons(2).inject([0r]){|s, (a, b)|
x = a.denominator + b.denominator
s << 1r*(a.numerator + b.numerator)/x if x == n
s << b
}[k]
end

461:デフォルトの名無しさん
17/08/03 07:36:01.80 cLWzUq7C.net
お題:ミンコフスキーの疑問符関数の実装
URLリンク(en.wikipedia.org)
URLリンク(reference.wolfram.com)

462:デフォルトの名無しさん
17/08/03 10:39:36.15 ONmyLPuf.net
WIKIぺにコード乗ってますが。

463:デフォルトの名無しさん
17/08/03 10:48:34.50 ONmyLPuf.net
>>449のWIKIより。
/* Minkowski's question mark function */
double minkowski(double x) {
long p=x; if ((double)p>x) --p; /* p=floor(x) */
long q=1, r=p+1, s=1, m, n;
double d=1, y=p;
if (x<(double)p||(p<0)^(r<=0)) return x; /* out of range ?(x) =~ x */
for (;;) /* invariants: q*r-p*s==1 && (double)p/q <= x && x < (double)r/s */
{
d/=2; if (y+d==y) b


464:reak; /* reached max possible precision */ m=p+r; if ((m<0)^(p<0)) break; /* sum overflowed */ n=q+s; if (n<0) break; /* sum overflowed */ if (x<(double)m/n) r=m, s=n; else y+=d, p=m, q=n; } return y+d; /* final round-off */ }



465:デフォルトの名無しさん
17/08/05 17:44:11.83 40G0sflG.net
>>375
のほかの実装はでてこないねぇ‥

466:デフォルトの名無しさん
17/08/12 18:46:00.57 953va2dM.net
寿司のオーダーNのやつを理解しようとしたけどまだやってない。
その仕組みと、ほんとに正解してるのかとか。いたら誰が解説して。

467:デフォルトの名無しさん
17/08/12 19:04:22.18 Bi4KH0eW.net
>>413です
もちろん合っているつもりのコードです
作者が言っても何の説得力もありませんが

468:デフォルトの名無しさん
17/08/12 19:07:04.34 4r/z/Qd5.net
会社に帰ってこない巡回セールスマンだよね
寿司の乗った皿がノード、計算量はO(n!)

469:デフォルトの名無しさん
17/08/12 19:10:18.10 Bi4KH0eW.net
それぞれの寿司を食べている期間をレーン上の線分で表します
この線の重なり具合をpileで表しました
効率良く食べられた場合はレーンがpile_max周するまでの間に食べきることが出来ます
170行目の判定がそれで、trueの場合は効率良く食べられない場合です

470:デフォルトの名無しさん
17/08/12 19:12:06.32 4r/z/Qd5.net
>>456
もしそれで最適解が得られるなら巡回セールスマンも可能じゃないかな?

471:デフォルトの名無しさん
17/08/12 19:17:11.73 6XNTCj+p.net
巡回セールスマン問題とけたら色々応用範囲アルヨ。
マジでどっかに売り込んでもいいくらい。
天才か。

472:デフォルトの名無しさん
17/08/12 19:18:34.85 6XNTCj+p.net
社会的に言うと交通統制とかもそれじゃないかな?
信号の待ち時間問題。よくしらんけど。

473:デフォルトの名無しさん
17/08/12 19:19:17.76 Bi4KH0eW.net
効率良く食べられない方が簡単なのでその場合から
お寿司を以下のグループに分けます
----
各グループのお寿司は、レーンの特定の位置から食べ始めた場合、pile[グループ]周以内で食べ終わることが出来る
このとき、pile_max = Σ pile[グループ]
となる
---
このようなグループの分け方の最小の物が存在します

474:デフォルトの名無しさん
17/08/12 19:22:56.16 Bi4KH0eW.net
同じグループのお寿司は連続して食べます
開始時と、各グループのお寿司を食べ終わった後、最初に来るお寿司から食べはじめ、pile[グループ]以内で食べられる食べ方でそのグループを食べ終える
ということを繰り返せば最小の時間で食べ終えることが出来ます

475:デフォルトの名無しさん
17/08/12 19:26:29.79 Bi4KH0eW.net
グループ分けした時に1個のグループになった場合は、
効率良く食べられることになります
つまり、pile_max周以下で食べ終えることが出来ます
この時は、コード上にあるダミーのお寿司を追加してから最小時間を求め、ダミーのお寿司を食べてる時間を引けば求められます

476:デフォルトの名無しさん
17/08/12 19:28:18.79 4r/z/Qd5.net
うーん、よくわからん
セールスマンの巡回先を一次元にマッピングできれば同じことできそうな
無理か

477:デフォルトの名無しさん
17/08/12 19:30:27.01 Bi4KH0eW.net
グループの分け方は少し難しいです
レーンの各整数位置に対して、
お寿司の線の両端にあたる点同士
線の重なりがpile_max未満である区間の点(両端を含む)
を同じグループの点とし、
これらを続けることで最小のグループ分けが出来ます
線の両端の点のグループが、そのお寿司のグループになります

478:デフォルトの名無しさん
17/08/12 19:31:42.19 Bi4KH0eW.net
それぞれ、証明は出来ているつもりです

479:デフォルトの名無しさん
17/08/12 19:32:49.51 Bi4KH0eW.net
もちろん、一般の巡回問題はこの方法では無理です

480:デフォルトの名無しさん
17/08/12 19:37:29.23 4r/z/Qd5.net
全ノードを巡回する最短時間の問題だから、できそうな気がするけどね

481:デフォルトの名無しさん
17/08/12 19:39:44.61 2Yw2XYfL.net
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっている


482:フリーランスのサイトはだめだ。 高額に見せているけど実際は50万前後 JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。 ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト 473非決定性名無しさん2017/08/03(木) 15:21:30.71 JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる 自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の 間でやらしている。 446非決定性名無しさん2017/08/02(水) 22:12:48.95 JIETに毎月5千円払えば3次から入場できるだろ? 高額をうたうフリーランスのサイトはだいたい5次から45万円 JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした 高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした 自称エージェントはJIETから流れてくる案件を転売してるだけだった。 JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む



483:デフォルトの名無しさん
17/08/12 19:40:20.63 Bi4KH0eW.net
pile_maxとその位置から下限が得られますが、
>>296 の例では98秒の物以外はすべてその下限になっています
一個その下限になるような例を見つければ答えがわかるのですが、
自力で検索してみればわかると思いますがそのような例はあっさり見つかります
98秒の例は効率良く食べられない場合になります
効率良く食べられる側のなかでも、pileから得られる下限値より大きくなる場合もあります

484:デフォルトの名無しさん
17/08/12 19:43:06.99 Bi4KH0eW.net
いずれの場合も、PCを使わなくても手計算で十分可能です

485:デフォルトの名無しさん
17/09/15 10:14:33.05 lRMsxOf0.net
お題:
N次元で1辺のマス目がM個の魔法陣を作る
N>3(任意)、M>=3(任意)の超立方体

486:デフォルトの名無しさん
17/09/15 10:20:33.77 lRMsxOf0.net
参考
URLリンク(magcube.la.coocan.jp)
URLリンク(nadamath2012.web.fc2.com)

487:デフォルトの名無しさん
17/09/17 16:38:38.03 DSKC3zx4.net
魔方陣は1個作ればいいの?
Mが奇数か4の倍数は簡単
4で割って2余るのは検索するしかないのかな?

488:デフォルトの名無しさん
17/09/17 16:55:04.37 fthJj6jv.net
バックトラックで組もうかと思ったけど、重そうだったからやめた。
数独より重そう。
それに一列合計をどの数字にするのかちょっとわからなかった。

489:デフォルトの名無しさん
17/09/17 23:20:36.13 DSKC3zx4.net
一列合計は、M*[数字の平均]
になる
つまり
M*(M^N+1)/2

490:片山博文MZ
17/09/18 21:53:54.06 iMidYxoH.net
お題: URLから適当なサムネイルを生成するWebプログラム。

491:デフォルトの名無しさん
17/09/18 23:06:01.10 FC5+Wne9.net
お題
0以上90未満の整数nを入力として
タンジェントn°の値が有理数ならば真
そうでなければ偽を返す

492:デフォルトの名無しさん
17/09/18 23:29:46.49 45aelXxs.net
bool f(int n){return n==0 || n == 45;}

493:デフォルトの名無しさん
17/09/18 23:33:52.62 ILsR+BHw.net
sed -r -e "s/^(0|45)\$/True/" -e "s/[1-8][0-9]*/False/"

494:デフォルトの名無しさん
17/09/19 01:13:30.78 zMNLdsjY.net
tanの計算しないのはどうかと

495:デフォルトの名無しさん
17/09/19 01:57:23.24 Ten4kOds.net
計算で有理数かどうか確�


496:F? それは非常に難しいな by 東大数学科卒



497:デフォルトの名無しさん
17/09/19 02:28:36.10 SyuGyzWY.net
>>480
そう思うなら他者を批判するより行動で示せばいいと思うよ

498:デフォルトの名無しさん
17/09/19 03:58:59.82 KVkpgN/c.net
tan1°が無理数であることの証明すら面倒くせえのに一体どんな回答を求めているんだ

499:デフォルトの名無しさん
17/09/19 06:37:25.45 Ten4kOds.net
>>483
面倒くさい?
てことは出来るの?
やってみて

500:デフォルトの名無しさん
17/09/19 07:41:26.64 KVkpgN/c.net
>>484
確か京大の過去問にあったでしょう
説明めんどいからは解法は自分で調べて

501:デフォルトの名無しさん
17/09/19 08:13:59.26 Ten4kOds.net
いや、おれは出来るよ
>>483の実力で出来るのか?と疑問に思っただけ
実力じゃなくてカンニングね

502:デフォルトの名無しさん
17/09/19 08:21:42.19 KVkpgN/c.net
何言ってんだこいつ

503:デフォルトの名無しさん
17/09/19 08:49:35.38 q1kL6yRz.net
問題が悪いな
与えられた有理数rに対し、
tan(πr)が有理数かどうか判別するプログラムを書け
ならテーブルは使えない

504:デフォルトの名無しさん
17/09/19 09:06:24.19 emxMAzY1.net
また、多倍長精度演算のないC++にはきつい問題を・・・。

505:デフォルトの名無しさん
17/09/19 11:09:01.37 q1kL6yRz.net
>>488
すいません
結果を知っていたらこれでも簡単でした

506:デフォルトの名無しさん
17/09/19 11:10:19.22 q1kL6yRz.net
>>489
多倍長を使っても解決しないでしょ

507:デフォルトの名無しさん
17/09/19 12:53:02.28 RSOddfRB.net
そもそも出題者はどういう回答を期待してるんだ?
数学の知識無しでは作れないし、数学の知識を使えば>>478になる

508:デフォルトの名無しさん
17/09/19 14:38:36.12 LvSRuVZD.net
tan()の加法定理
 tan(α+β)=(tanα+tanβ)/(1-tanαtanβ)
により
もしtan(α)が有理数なら
tan(nα) (n = 1,2,3,4・・・)
も全て有理数
このため
整数nにより
tan(n)が無理数なら
nの約数全てによるtan()が無理数
ここで
tan(60)=√3
が無理数なのは簡単に証明されるため、
tan(1)
も無理数
証明終わり

509:デフォルトの名無しさん
17/09/19 14:54:56.80 RSOddfRB.net
>>476を解くにはあとtan(18度)が無理数であることを証明しないと

510:デフォルトの名無しさん
17/09/19 14:55:28.25 RSOddfRB.net
>>476じゃなくて>>477


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch