1 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 10:09:07.13 ID:phwOkayR.net] プログラミングのお題スレです。 【出題と回答例】 1 名前:デフォルトの名無しさん お題:お題本文 2 名前:デフォルトの名無しさん >>1 使用言語 回答本文 【ソースコードが長くなったら】 (オンラインでコードを実行できる) https://ideone.com/ codepad.org/ compileonline.com/ rextester.com/runcode https://runnable.com/ https://code.hackerearth.com/ melpon.org/wandbox https://paiza.io/ 宿題は宿題スレがあるのでそちらへ。 前スレ プログラミングのお題スレ Part10 https://mevius.5ch.net/test/read.cgi/tech/1514772904/ プログラミングのお題スレ Part11 https://mevius.5ch.net/test/read.cgi/tech/1524570314/
266 名前:デフォルトの名無しさん [2018/11/08(木) 03:03:27.47 ID:yQlGi5bN.net] >>244 >ここはプログラミングのお題スレなんだからこれでいいんだよ。 >むしろ人がある程度プログラムの仕様を考えなければならないような数学問題みたいなやつがダメなお題。 スレタイ『プログラマーは何を勉強すべきか?』 プログラマーは何を勉強すべきかということだが、最新のトレンドに適応した勉強が必要だ。 俺は今までこれだけ沢山勉強してきたという人も、実は最新のトレンドに適応していない可能性もある。 5、結論 以上の結果より導き出される京大英語で8割を超すための対策は、「ネイティブ英語とは何か」 を定義づけして学ぶことに尽きるだろう。 たとえば、「この料理はまずい」という英作文なら受験生に多いのが This dish tastes poor. しかし、これは評価されない。なぜなら、英語として正しくてもマナー違反。英検英語なら否定文にして、 This dish isn't good. これでマナーは改善された。 しかし、ネイティブなら I don't like this dish. と言うだろう。本当に不味い場合は、 Yuck! と叫ぶ。そういう違いだ。 問題は、 「受験英語の参考書や問題集で取り上げられている構文や表現が現実に使われている英語と違う」 という事実。それを指導している教師や講師も、外国生活がなく50年前の表現を気づかずに指導して いること。そのために、校内テストや模試で高得点や上位の順位をとっても落ちてしまうこと。 https://storys.jp/story/18159
267 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 03:57:11.05 ID:AySxWi85.net] 「この料理はまずい」の時点でマナー違反なんだからそのまま訳すのが正しい 料理がまずいときの一言を答えさせたいならそう出題すればいいことだ そういう出題側の質とか意識してんのかなこいつ
268 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 04:48:49.11 ID:QHwNiY6E.net] 数学のように、頭の中で正しいかどうかを、証明するような問題は、面倒くさい。 このスレでは、頭を使わず、単純な総当たり問題が好まれる その方が、プログラミング的な問題
269 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 05:18:56.02 ID:HOEn5tLb.net] お題: 自然数Nと、N個の「半角の小文字アルファベットと数字からなる1文字以上の文字列」が標準入力から順次与えられます。 文字列をNatural Sort*して標準出力から順次出力してください。 追加問題: お題1を正規表現を使わず実装してください。 *: "a120"と"a13"が与えられた場合、"a13","a120"の順番にソートするようにする。 また、今回は"a01"と"a1"が与えられた場合、連続する数字が少ない方を先にする、すなわち"a1","a01"の順になるようにするものとし、 "0"と"a"のどちらが先に来るかについては自由とします。
270 名前:デフォルトの名無しさん [2018/11/08(木) 05:51:13.63 ID:yQlGi5bN.net] >>261 >数学のように、頭の中で正しいかどうかを、証明するような問題は、面倒くさい。 >このスレでは、頭を使わず、単純な総当たり問題が好まれる ならば、「チンポがシコシコする」という日本語表現は、文法的に正しいのか? チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。 オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、 全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体 が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。 例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。 違うか? 「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
271 名前:デフォルトの名無しさん [2018/11/08(木) 07:42:34.26 ID:Tu3rCJEk.net] >>261 まあそうなんだけど、数学スレでガンガンプログラミング言語で答え出してる奴がいて正直羨ましい。
272 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 09:21:24.69 ID:UCtqQ5sl.net] なぜそのスレで頑張らないのか。 二軍でヒーローになろうと思ってここで数学の問題出してるの?
273 名前:デフォルトの名無しさん [2018/11/08(木) 09:28:43.02 ID:Tu3rCJEk.net] ? 私は出題者じゃ無いよ。
274 名前:デフォルトの名無しさん [2018/11/08(木) 09:57:33.73 ID:2oWgTmr1.net] >>265 >なぜそのスレで頑張らないのか。 >二軍でヒーローになろうと思ってここで数学の問題出してるの? 俺はただパソコンに向かって独り言ブツブツ言って、チンポがシコシコしてるだけだが?
275 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 09:57:41.43 ID:llemawmF.net] >>262 How do I do a natural sort on an array? ttps://www.perlmonks.org/?node_id=68185 これを実装すんの?
276 名前:デフォルトの名無しさん [2018/11/08(木) 10:23:04.41 ID:Cbg63GbQ.net] >>263 君が何を言いたいのかよくわからない。
277 名前:デフォルトの名無しさん [2018/11/08(木) 10:34:41.85 ID:yQlGi5bN.net] >>269 『チンポ』についての生態学は、俺にもよくわからん。
278 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 11:03:16.65 ID:WO5MlDuJ.net] >>262 Ruby puts$<.readlines.sort_by{|a|[a.scan(/\d+|\D+/).map{|e|e.to_i(36)},a.size]}
279 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 14:52:40.11 ID:9PdT3eEJ.net] >>271 >>262 >また、今回は"a01"と"a1"が与えられた場合、連続する数字が少ない方を先にする、すなわち"a1","a01"の順になるようにするものとし、
280 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:03:35.30 ID:5p9g1xrz.net] >>272 問題無い # stdin a130 a12 a001 a01 a1 1 # stdout 1 a1 a01 a001 a12 a130
281 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:08:17.09 ID:9PdT3eEJ.net] >>273 a01b2 a1b0002
282 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:11:12.86 ID:5p9g1xrz.net] >>274 うわー恥ずかしい 指摘ありがとう
283 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:11:38.15 ID:rrpg0ZUw.net] >>273 a001 a12 これ逆にならんとあかんのとちゃう?
284 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:14:27.12 ID:tjdDhH3P.net] >>215 python3 むりやり数式で解いてみた https://ideone.com/LQb0jT
285 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 15:33:18.20 ID:quzojjRV.net] ソートの問題、 連続する数字はその連を数値として比較しつつ同じ数値のときは桁数少を前としているわけだよな つまり a01a a1b a01b をソートすると a01a a1b a01b
286 名前:デフォルトの名無しさん [2018/11/08(木) 16:29:56.18 ID:Tu3rCJEk.net] >>262 Haskell main = concat $ map qsort grop grop = map filterlen [1..(maximum $ map length input)] filterlen n = filter (\x -> n == length x) input qsort [] = [] qsort (x:xs) = small ++ [x] ++ big where small = qsort [a |a <- xs, a <= x] big = qsort [a | a <- xs, a > x] input = ["a130","a12","a001","a01","a1","1"]
287 名前:デフォルトの名無しさん [2018/11/08(木) 16:31:19.84 ID:Tu3rCJEk.net] input = ["a130","a12","a001","a01","a1","1"]
288 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 18:41:10.95 ID:e5hl87sZ.net] >>278 >連続する数字はその連を数値として比較しつつ同じ数値のときは桁数少を前としているわけだよな 同じ数値のときじゃなくて全体が等しいときか
289 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 18:52:29.20 ID:B0s1LWLV.net] >>279 input = ["01m30s","1m45s","02m03s"] 結果 ["1m45s","01m30s","02m03s"] あんまりnatural じゃない感じ
290 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 19:15:05.42 ID:85A5tG8V.net] お題 M行N列の領域をジグザグスキャンするときの順序を求めよ 3 3 => 1 2 6 3 5 7 4 8 9 4 2 => 1 2 3 5 4 6 7 8 3 5 => 01 02 06 07 12 03 05 08 11 13 04 09 10 14 15 1 8 => 1 2 3 4 5 6 7 8
291 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:07:15.82 ID:k/fJXxDB.net] >>235 ruby https://ideone.com/06bXQn
292 名前:デフォルトの名無しさん [2018/11/08(木) 22:11:37.46 ID:Tu3rCJEk.net] >>282 そう? ナチュラルソートっての知らんけど、その結果見ても仕様通りと思うんだが。
293 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 22:16:02.65 ID:EeFetNer.net] >>271 を訂正 Ruby puts$<.readlines.sort_by{|a|a.scan(/(\D*)(\d+)/).map{|i,j|[i,j.to_i,j.size]}} # stdin a01b2 a1b0002 a130 a12 a001 a1 1 # stdout 1 a1 a1b0002 a01b2 a001 a12 a130
294 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:33:47.08 ID:TLTEncZh.net] 誰に何を文句言うわけでもないがナチュラルソートってのは一般に "01.25" < "1.5" "01m 25cm" < "1m 35cm" とか "Chapter 001 section 5" < "Chapter 1 section 6" となるような順序での整列 逆でもいいけど 問題の仕様はどうかしらんが単に用語の解説ね
295 名前:デフォルトの名無しさん mailto:sage [2018/11/08(木) 23:49:40.65 ID:I6IWEGdd.net] 今回の問題の仕様とは微妙に違うから回答にはならないけど echo -e "01m30s\n1m45s\n02m03s" | sort -V 01m30s 1m45s 02m03s ナチュラルソートならこうなるべきだな
296 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 09:07:23.82 ID:cVPfgm+I.net] >>287-288 の仕様で Ruby args = [ '01.25', '1.5', '01m 25cm', '1m 35cm', 'Chapter 001 section 5', 'Chapter 1 section 6', '01m30s', '1m45s', '02m03s' ] nsort = lambda do |args| f = ->str{str.scan(/(?=.)(\D*)(\d+(\.\d+)?)/).flat_map{|a, b| b.empty? ? [a] : [a, b.to_r]}} g = ->str{str.scan(/\d+/).map(&:size)} args.sort do |str1, str2| comparison = f[str1] <=> f[str2] comparison.zero? ? g[str1] <=> g[str2] : comparison end end p nsort[args] #=>["01m30s", "1m45s", "01m 25cm", "1m 35cm", "01.25", "1.5", "02m03s", "Chapter 001 section 5", "Chapter 1 section 6"]
297 名前:デフォルトの名無しさん [2018/11/09(金) 17:42:13.83 ID:SNvr5Euv.net] >>269 『チンポ』については、自分でも良くわからない、何とも言えない不思議な生き物だ。
298 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 18:36:42.14 ID:B4AEy6G3.net] お題 1以上N以下の奇数を並べた数の桁数を求めよ 3 => 2 (13) 10 => 5 (13579) 9999 => 19445 (135...99979999) 123456789 => ? 31415926535897 => ?
299 名前:デフォルトの名無しさん [2018/11/09(金) 18:45:16.11 ID:DHGOZxva.net] >>291 桁数というか奇数が何個かって話やね。 わざわざ分かりにくい仕様とか、コミュ障かと。
300 名前:デフォルトの名無しさん [2018/11/09(金) 18:47:33.93 ID:DHGOZxva.net] ん、ああ。 10とか100とかになったら個数と桁数は違うか。 悪かった。
301 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:31:42.41 ID:myvceSEv.net] お題 与えられた数を最小文字数で生成する。
302 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:36:37.28 ID:b84kY48J.net] >>291 rust https://ideone.com/Wl46o3
303 名前:デフォルトの名無しさん [2018/11/09(金) 19:38:13.95 ID:JsSTi+Gx.net] >>294 問題の意味がわからん。何か例を書いてくれ。
304 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:45:38.08 ID:OW/zGENl.net] 意味のわからない日本語を解析する
305 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 19:46:38.02 ID:A6qAb8kp.net] 134217728 が与えられたら 8^9 を返すとかそういう話かね?
306 名前:デフォルトの名無しさん [2018/11/09(金) 19:46:54.75 ID:EUp1VEAA.net] >>291 Haskell main = mapM_ print $ zip3 lst fosl fos oddstr [] = [] oddstr (x:xs) = show x:oddstr xs fo = map (\x-> filter (odd) [1..x]) lst foo f = map (f.concat.oddstr) fo fos = foo id fosl = foo length lst = [3,10,999,123456789,31415926535897] コードはすぐ出来たけど、計算が終わらないw 奇数が多すぎてバッファに残ってなさそうだから、ファイルにリダイレクトし直しかな。。。
307 名前:デフォルトの名無しさん [2018/11/09(金) 20:06:34.46 ID:JsSTi+Gx.net] >>291 スマホから直接一度も試さずに書くが、Kotlin だと理屈の上ではこれでできると思う。 nが最大値な。 println((1..n step 2).joinToString("").length) かといってこんなのメモリ食うだけ。
308 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 20:38:18.97 ID:Zs2FyImb.net] >>291 Ruby args = [0, 1, 2, 3, 10, 9999, 123456789, 31415926535897] floor_log10 = -> n {r = 1; (0..n).find{ r *= 10; r > n}} kotae = ->n{ x = floor_log10[n + 1] ((9*x - 1)*10**x + 10)/18 + (n-10**x+1)/2 * (x
309 名前: + 1) + (n < 8 ? n & 1 : 0) } args.each{|e| puts '%d => %d' % [e, kotae[e]]} # => 0 => 0 1 => 1 2 => 1 3 => 2 10 => 5 9999 => 19445 123456789 => 500000000 31415926535897 => 214355930195731 [] [ここ壊れてます]
310 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 21:56:37.18 ID:lMSYlD+9.net] >>301 なんで
311 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 21:58:02.15 ID:lMSYlD+9.net] すまん。途中で誤爆した。 >>301 なんでこうなるの?? あと最後のn < 8 ? n & 1 : 0も数式で表わせる?
312 名前:デフォルトの名無しさん [2018/11/09(金) 22:05:09.74 ID:gJrymgLI.net] >>291 Python3 print(len("".join(map(str, range(1, int(input())+1, 2))))) を実行したらフリーズしたので odd = range(1, int(input())+1, 2) keta = 0 for i in odd: keta += len(str(i)) print(keta) #============== 123456789 => 500000000 31415926535897 => 終わらん
313 名前:デフォルトの名無しさん [2018/11/09(金) 22:09:18.25 ID:EUp1VEAA.net] >>299 123456789の桁数は500000000ってのは分かった。
314 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 22:23:23.31 ID:PBoRuHnu.net] >>303 0からnまでの奇数を並べてできる数の桁数をf(n)とすると(n >= 0) p := [log10(n+1)] として n >= 10の時 f(n) = Σ[k は 0〜[(n-1)/2]]( (2k+1)の桁数 ) = 1*(0〜9までの奇数の数) + 2*(10〜99までの奇数の数) + ... + p*(10^(p-1)〜10^p-1までの奇数の数) + (p+1)*(10^p〜nまでの奇数の数) = 1*5 + Σ[k は 2〜p]45k*10^(k-2) + (p+1)*[(n - 10^p + 1)/2] = 45/100*Σ[k は 1〜p]k*10^k + 1/2 + (p+1)*[(n - 10^p + 1)/2] = ((9p - 1)10^p + 1)/18 + 1/2 + (p+1)*[(n - 10^p + 1)/2] = ((9p - 1)10^p + 10)/18 + (p+1)*[(n - 10^p + 1)/2] …… (*) n = 0, 2, 4, 8, 9 の時はちょうど (*) n = 1, 3, 5, 7 時は (*) + 1 なので f(n) = ((9p - 1)10^p + 10)/18 + (p+1)*[(n - 10^p + 1)/2] + (n < 8 ? n & 1 : 0) 末尾の項を無理やり数式にしたいなら [8/(n + 1)]((1 - (-1)^n)/2)(2^((5 - n)/2)([n/7] + 1)) とかにすればいいんじゃない意味ないけど
315 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 23:35:53.00 ID:QKOvQ/Be.net] >>291 Squeak/Pharo Smalltalk | fn | fn := [:N | | nDig | nDig := N log truncated. (1 to: nDig) inject: (1 to: N by: 2) size * (nDig + 1) into: [:tot :m | tot - ((10 raisedTo: m) / 2)] ]. #(3 10 9999 123456789 31415926535897) collect: fn "=> #(2 5 19445 500000000 214355930195731) "
316 名前:デフォルトの名無しさん mailto:sage [2018/11/09(金) 23:56:11.30 ID:EzT7HP1o.net] >>306 訂正 ((9p - 1)10^p + 10)/18 -> [((9p - 1)10^p + 10)/18] あと (n < 8 ? n & 1 : 0) は (1 - (-1)^n)/2*[3/([√n] + 1)] の方がより簡単か
317 名前:デフォルトの名無しさん [2018/11/10(土) 01:35:04.59 ID:PYYpj2JU.net] >>291 Kotlin https://paiza.io/projects/KAd4jeHV7Q3ttrPaJCGFCw
318 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 04:32:40.14 ID:dp2CGyZQ.net] >>309 すごい😆
319 名前:デフォルトの名無しさん [2018/11/10(土) 04:35:26.34 ID:PYYpj2JU.net] >>262 Kotlin https://paiza.io/projects/sjgIQuhZ44UZcdFZ2CwncQ 色々考えたが結局クラス作ってそこに数字列と文字列で切り分けて入れておいて比較時にそこ見るようにした。 入力の仕様は拡張されていて、最初に数字だけがあった場合はその後に続く単語がその個数あるとみなして 入力を行うが、最初に数字がない場合は無制限に読む。出力は入力した単語とソート後の単語を出す。
320 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 05:36:17.18 ID:zQnB+SVr.net] 提案 回答は言語別に別スレで 2スレ位になるかな? 評価価値基準で別れていくんじゃないかと ここではコメントのみになるのかな。
321 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 05:52:45.45 ID:5gG2FCqG.net] スレ過疎りそうだし誰もわざわざ別スレに回答見に行かなそう
322 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 06:43:43.85 ID:zQnB+SVr.net] 乱立して過疎ってる特定言語専用スレの活性化に寄与することを願いたいしコード例が増えることはそれぞれメリットあるんじゃないかと。 ここと相互リンクは必ず貼る。他の言語と比較しない 他を貶さないを基本ルールに。
323 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 07:08:4
] [ここ壊れてます]
324 名前:9.40 ID:mapNUhJU.net mailto: もとのスレにも迷惑かと [] [ここ壊れてます]
325 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 08:21:22.38 ID:2tLivqWS.net] >乱立して過疎ってる特定言語 具体的に何? 一番肝心のこと言ってないから説得力がまるで無い
326 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 09:22:59.55 ID:dp2CGyZQ.net] お題: A,B,Cの3人が1から5までの値が1つずつ書かれた5枚のカードを使ってインディアンポーカーを行う。 各々ランダムに1枚カードを引き、自分は値を見ず他の参加者に値が見えるように額にかざす。 この状態でA,B,Cの順に自分の値が今回引かれた3枚の中で最大(MAX)か,2番目に大きい(MID)か,最小(MIN)かを予想して答える。 AとBはパスしてもよいものとし、誰かが答えた時点で終了となる。 なお全員必ず正解するものとする。 各々の引いたカードの値を引数にとり、一回分のインディアンポーカーの結果を出力する関数indian_poker(a, b, c)を実装せよ。 期待動作例: indian_poker(3, 2, 1) // 「A is MAX」 indian_poker(5, 2, 4) // 「B is MIN」 indian_poker(4, 2, 3) // 「C is MID」
327 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 09:43:13.06 ID:9vqEahoA.net] そのスレの流れを無視してよそのスレで出されたお題の答えだけ書かれても、そのスレの住人には邪魔なだけだと思う。
328 名前:デフォルトの名無しさん [2018/11/10(土) 09:56:28.53 ID:X2YiMm/N.net] こういう指示語ばかり使うやつはだいたい頭悪い
329 名前:デフォルトの名無しさん [2018/11/10(土) 10:03:50.52 ID:0iGN/oEh.net] >>317 マ板で見かけた入社試験過去問か。 プログラマー脱落者として辞退します。
330 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 10:10:03.22 ID:zQnB+SVr.net] 乱立して過疎ってる (特定言語専用(スレッド)) 形容詞句?の係りはこれな (こういうものの表しかたにも流儀が色々あって混在するとややこしい)
331 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 10:19:13.79 ID:2tLivqWS.net] 係り受けなんてどーでもいいよ 「特定言語」って具体的に何なんだ、って聞いてるだけじゃん 返答が『形容詞句?の係りはこれな』って人の話をわざと聞かない人間だろ かなりのサイコパスなんで『乱立して過疎ってるスレ』とやらに誘いこんでマウンティングしたいだけじゃねえの なぜなら、特定言語の具体的な名前を5時間経っても未だに出さない、 口を開いたかと思えば「係り受けはこうだから」 もう頭がおかしいだろこいつ
332 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 10:34:20.29 ID:zQnB+SVr.net] 一つの言語を話題の軸に置いたスレッドは幾らでもあるだろ?この板には。 過疎ってるのも伸びてるのも全部特定言語専用スレな
333 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 10:36:44.35 ID:zQnB+SVr.net] コマンドプロンプトとかSQLとかでワイルドカード使ったことないのかな?
334 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 11:08:46.45 ID:1MT6N26R.net] そもそもここが過疎だし、他スレなんかにここのコード書いても荒らしにしかならんので当然ながら反対 やりたい奴だけ勝手にやってろ
335 名前:デフォルトの名無しさん [2018/11/10(土) 11:14:10.79 ID:16GnFLu/.net] >>317 一人が答えた時点で終了になるのに全員正解とは
336 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 11:20:45.22 ID:zQnB+SVr.net] 幾らなんでも既存スレ無許可で乗っ取るのはやめてほしい。 でも逆にそちらで希望された場合には別スレにしなくてもいいのでは?リンクさえあれば
337 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 11:31:50.87 ID:T2pc5qWv.net] そもそも>>312 の時点で日本語が怪しいですし
338 名前:デフォルトの名無しさん [2018/11/10(土) 11:33:27.18 ID:16GnFLu/.net] >>317 答えた者が必ず正解するならAが常にあてずっぽうで正解できることになるな パスする
339 名前:意味も無い 言わんとすることは推測できるが、問題文としては明らかにおかしい 各自、論理的に正解が絞りきれた場合のみ解答し、そうで無ければ必ずパスするものとする。又、その論理に誤りはないものとする。みたいな条件が必要 [] [ここ壊れてます]
340 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 11:34:10.16 ID:g5G2TnXq.net] >>317 Java https://ideone.com/EUQiD6 これはひどいコードww
341 名前:デフォルトの名無しさん [2018/11/10(土) 11:36:49.05 ID:16GnFLu/.net] >>330 ごり押しで草
342 名前:デフォルトの名無しさん [2018/11/10(土) 11:44:08.17 ID:16GnFLu/.net] Aは常に正解する Aは常に正しい 故にA is GOD
343 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 12:18:21.41 ID:2tLivqWS.net] >>317 は9月末あたりに話題になってた ttps://qiita.com/gorillab/items/fab2a6637f681221f687 ttps://qiita-image-store.s3.amazonaws.com/0/169376/80ea2cf1-37e7-60b0-3230-c7dc1d2d60cc.jpeg
344 名前:デフォルトの名無しさん [2018/11/10(土) 12:38:22.96 ID:16GnFLu/.net] >>333 元ネタからして雑すぎて草
345 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 12:44:49.01 ID:gks79eHH.net] 前スレ951のやつか
346 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 12:44:51.58 ID:xqriZsUd.net] >>317 Ruby def indian_poker(a, b, c) x = [Set[1, 2], Set[1, 5], Set[4, 5]] winner, winners_num = case when x.include?(Set[b, c]) then [?A, a] when a == 3 || (b == 3 && Set[a, b, c] != Set[2, 3, 4]) || x.include?(Set[a, c]) || Set[b, c] == Set[2, 4] then [?B, b] else [?C, c] end '%s is %s' % [winner, %w[MIN MID MAX].zip([a, b, c].sort).find{|e| e.last == winners_num}.first] end arr = [*(1..5)].permutation(3){|i| puts '%p -> %s' % [i, indian_poker(*i)]}; # => [1, 2, 3] -> C is MAX [1, 2, 4] -> B is MID [1, 2, 5] -> B is MID ... 以下>>330 と同じ
347 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:25:37.16 ID:hLxIIZfE.net] >>329 > 各自、論理的に正解が絞りきれた場合のみ解答し、そうで無ければ必ずパスするものとする。又、その論理に誤りはないものとする。みたいな条件が必要 流石にその程度は理解しようよ…
348 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:27:54.99 ID:8cjk91S6.net] >>291 python3 https://ideone.com/jQau8U うーん… O(1)にできない
349 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:37:54.71 ID:16GnFLu/.net] >>337 書いてないことは何でもあり 論理パズルにするならちゃんとルールは全て掲示しないと駄目
350 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 13:52:54.08 ID:9b5VuL4P.net] お題 n^n^nの下2桁を求めよ(^はべき乗、nは1以上の整数) 1 => 1 2 => 16 (2^2^2 = 2^4 = 16) 3 => 87 (3^3^3 = 3^27 = 7625597484987) 4 => 96 11 => 11 13 => 53 100 => 0 777 => ??
351 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 14:00:49.74 ID:hLxIIZfE.net] >>339 はいはい w アスペかよ
352 名前:デフォルトの名無しさん [2018/11/10(土) 15:46:45.95 ID:16GnFLu/.net] >>340 777の出力は77になればいいのかな? その入力でこうなるの面白いな
353 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 15:58:06.48 ID:xqriZsUd.net] >>342 97じゃない?
354 名前:デフォルトの名無しさん [2018/11/10(土) 16:06:41.30 ID:16GnFLu/.net] >>343 すまんコード修正したら97になったわ はやとちりだった
355 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 16:28:23.31 ID:31tiZVqm.net] >>330-331 そういうのはそれよりマシなコードを出してから言わないと単なる口先番長にしか見えないぞw
356 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:09:13.33 ID:xqriZsUd.net] >>340 Ruby def powmod(n, e, m) case e when 0 then 1 when :even?.to_proc then powmod(n * n % m, e >> 1, m) else n * powmod(n, e - 1, m) % m end end def kotae(n, m) index, cycle = (1..m).each_wit
357 名前:h_object([1]) do |i, a| x = (a.last * n % m) ind = a.index(x) ind.nil? ? a.push(x) : (break([ind, i - ind])) end x = n.times.reduce(1){|r, i| r *= n; r < index ? r : break} y = x.nil? ? index + (powmod(n, n, cycle) - index) % cycle : x powmod(n, y, m) end [0, 1, 2, 3, 4, 5, 10, 11, 13, 100, 777].each{|i| puts '%d -> %06d' % [i, kotae(i, 10**6)]} # =>0 -> 000000 1 -> 000001 2 -> 000016 3 -> 484987 4 -> 084096 5 -> 203125 10 -> 000000 11 -> 906611 13 -> 549053 100 -> 000000 777 -> 977097 [] [ここ壊れてます]
358 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:30:26.21 ID:g5G2TnXq.net] >>345 自分で書いて自分でひどいコードと言うとるんやがww
359 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:52:39.10 ID:AvCW4uHY.net] python def ans(num): _def calc(N): __n = (N ** 2) % 100 __p = [] __while n not in p: ___p.append(n) ___n = (n * N) % 100 __return p _loop = calc(num) _step = num**num % len(loop) _if len(loop) == 1: __print(loop[0]) _else: __print(loop[step-2]) for x in [0,1,2,3,4,5,10,11,13,777]: _ans(x) -> 0,1,16,87,96,25,0,11,53,97
360 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 17:55:30.82 ID:hLxIIZfE.net] >>347 ああ、それはすまん 俺もパッと書けと言われたらこれしか思いつかんわ
361 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 19:50:00.93 ID:nd1h6x9x.net] >>347 わかった上で愚直にごり押しコード書いただけだよな 引数順列の列挙もドストレートで素敵w
362 名前:デフォルトの名無しさん mailto:sage [2018/11/10(土) 20:50:56.73 ID:G7iMNc/F.net] >>317 Squeak/Pharo Smalltalk | numOfCards indianPoker | numOfCards := 5. indianPoker := [:args | | cards names infer | cards := (1 to: numOfCards) asArray. names := (Character alphabet asUppercase first: args size) asArray collect: #asSymbol. infer := nil. (infer := [:dealts :limit | | turn possibilities lastAns answers | turn := 0. answers := OrderedCollection new. possibilities := dealts collect: [:dealt | cards asSet removeAll: dealts; add: dealt; yourself]. lastAns := nil -> #?. [lastAns value = #? and: [(turn := turn + 1) < limit]] whileTrue: [ | myCards others | myCards := possibilities atWrap: turn. turn > 1 ifTrue: [ (myCards copyWithout: (dealts atWrap: turn)) do: [:pCard | (infer value: (dealts copy atWrap: turn put: pCard; yourself) value: turn) value ~= #? ifTrue: [myCards remove: pCard]]]. others := dealts copyWithoutIndex: turn - 1 \\ 3 + 1. lastAns := (names atWrap: turn) -> (true caseOf: { [others min > myCards max] -> [#MIN]. [others max < myCards min] -> [#MAX]. [others max > myCards max and: [others min < myCards min]] -> [#MID] } otherwise: [#?]) ]. lastAns]) value: args value: Float infinity ]. indianPoker value: #(3 2 1). " #A->#MAX " indianPoker value: #(5 2 4). " #B->#MIN " indianPoker value: #(4 2 3). " #C->#MID "
363 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 03:24:01.44 ID:HtKIrWnT.net] >>340 python3 https://ideone.com/2byzFd
364 名前:デフォルトの名無しさん [2018/11/11(日) 10:02:52.73 ID:ZG9KPLpE.net] >>340 Rubyで。 https://ideone.com/PoaYk5
365 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 12:53:19.00 ID:ILkwXRqJ.net] >>340 Squeak/Pharo Smalltalk | fn | fn := [:N | (Array new: 3 withAll: N) reduce: [:mex :n | mex \\ 100 = 0 ifTrue: [0] ifFalse: [n raisedTo: mex modulo: 100] ] ]. #(1 2 3 4 11 13
366 名前:100 777) collect: fn "=> #(1 16 87 96 11 53 0 97) " [] [ここ壊れてます]