1 名前:デフォルトの名無しさん mailto:sage [2018/04/24(火) 20:45:14.49 ID:ZY7R7Sru.net] プログラミングのお題スレです。 前スレ プログラミングのお題スレ Part10 https://mevius.5ch.net/test/read.cgi/tech/1514772904/ 【出題と回答例】 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/ 宿題は宿題スレがあるのでそちらへ。
712 名前:デフォルトの名無しさん [2018/08/02(木) 01:04:29.34 ID:vClc7nAi.net] あれ?\n が抜けた。 これね。 awk '{printf "%.3f℃\n", $1 / 1000}' /sys/class/thermal/thermal_zone0/temp
713 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 02:37:36.98 ID:aTwsiZBG.net] >>680 C https://ideone.com/Xpz0s9
714 名前:デフォルトの名無しさん mailto:sage [2018/08/02(木) 19:31:00.50 ID:zwgkA1lD.net] 8888
715 名前:デフォルトの名無しさん [2018/08/10(金) 02:32:41.77 ID:3Gbr2Rmh.net] 鈴木貫太郎 灘中 中学入試問題シリーズ 整数問題 https://youtu.be/98U2qVDQltc 6桁の整数、5AB,C15 が999 の倍数である時、ABC を求めよ 答え A=8, B=4, C=4
716 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 02:38:30.89 ID:4W08/YUW.net] 数学板でやれ
717 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:25:49.65 ID:MBG3l1c9.net] >>697 C https://ideone.com/fQBfz1
718 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 04:27:27.01 ID:MBG3l1c9.net] お題:与えられた正の整数nを2進数〜16進数に変換して表示する。 11進数以降の10以上を表す文字はABCDEFを使用。 (10=A, 11=B, 12=C, 13=D, 14=E, 15=F) 例:12進数の11 ---> B 出力例: n=123456 base(2) ---> 11110001001000000 base(3) ---> 20021100110 base(4) ---> 132021000 base(5) ---> 12422311 base(6) ---> 2351320 base(7) ---> 1022634 base(8) ---> 361100 base(9) ---> 207313 base(10) ---> 123456 base(11) ---> 84833 base(12) ---> 5B540 base(13) ---> 44268 base(14) ---> 32DC4 base(15) ---> 268A6 base(16) ---> 1E240
719 名前: mailto:sage [2018/08/10(金) 07:06:46.57 ID:H9lF8aPc.net] >>700 mevius.2ch.net/test/read.cgi/tech/1480579110/909 https://mevius.5ch.net/test/read.cgi/tech/1434079972/29
720 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 10:02:14.32 ID:GIxLf6/p.net] >>697 500015 + <ABC00> = 0 mod 999 <=> 4151 + <ABC> = 0 mod 999 <=> 4151 + <ABC> = 999*5 <=> <ABC> = 844 >>700 Ruby #!ruby -p b, n = $_.scan(/\d+/).map &:to_i puts n.to_s(b).upcase #=> 12進数の11 B 2進数の123456 11110001001000000 3進数の123456 20021100110 16進数の123456 1E240
721 名前:デフォルトの名無しさん [2018/08/10(金) 10:56:59.12 ID:EBuB6o8O.net] >>697 何も考えてないPerlのワンライナー perl -e 'for(0..999){$n=sprintf"5%03d15",$_;if($n%999==0){print"$n\n"}}' 584415
722 名前:デフォルトの名無しさん [2018/08/10(金) 11:16:24.27 ID:EBuB6o8O.net] >>700 Linux等で動くGNUのbcコマンド プログラムをファイルに入れておいてbcの引数で指定し、変換させたい数値は標準入力から読ませる。 ibase = 10 n = read() for (i = 2; i <= 16; i++) { obase = 10 print "base(", i, ") --> " obase = i print n, "\n" }
723 名前:デフォルトの名無しさん [2018/08/10(金) 11:38:51.00 ID:EBuB6o8O.net] >>700 Kotlin https://paiza.io/projects/DLXMRKXWtRvwOyxd6wDtRw
724 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 14:15:41.82 ID:xmypHVHY.net] >>700 C https://ideone.com/5bUk4j
725 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 14:48:17.70 ID:MBG3l1c9.net] >>701 既出でしたか 失礼しました では追加でもう1つ お題: 時間を表わす文字列(hh:mm:ss形式の8文字)の秒数を求める 最上位の時間だけは99時間を超えた場合拡張される 例:123時間45分6秒 ---> 123:45:06 出力例: 01:23:45 = 5025 sec 333:33:33 = 1200813 sec 出題者の回答例:C言語 https://ideone.com/pnrcQ6
726 名前:デフォルトの名無しさん [2018/08/10(金) 17:50:01.60 ID:q2LOavXt.net] >>700 C言語 (再帰処理) https://paiza.io/projects/-8zTD_hGtIvLskFVO3sCZw
727 名前:デフォルトの名無しさん [2018/08/10(金) 17:57:07.00 ID:q2LOavXt.net] >>707 Perl https://paiza.io/projects/g2tBzJeNk0M_FJZMylBjuA ワンライナーにもできるが、今回はこれで。
728 名前:デフォルトの名無しさん [2018/08/10(金) 18:25:42.14 ID:q2LOavXt.net] >>707 bash https://paiza.io/projects/_3ZfQe1fXiGUBKS_z3JrJg
729 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 18:30:15.99 ID:GIxLf6/p.net] >>707 Ruby ゴルフ気分で #!ruby -palF: $_='%d sec'%(0..2).map{|i|$F[~i].to_i*60**i}.sum # input 01:23:45 333:33:33 # output 5025 sec 1200813 sec
730 名前:デフォルトの名無しさん mailto:sage [2018/08/10(金) 18:40:53.56 ID:splKqZqj.net] >>707 bash (かぶった) https://paiza.io/projects/ESODDaszatdKxnhAzHsFWA
731 名前:709 [2018/08/10(金) 19:22:50.97 ID:q2LOavXt.net] >>712 あ、そうか。その方が簡単だな。
732 名前: mailto:sage [2018/08/10(金) 23:01:27.70 ID:H9lF8aPc.net] お題:10兆までの素数のリストを作ってみませんか? https://tech.nikkeibp.co.jp/it/article/Watcher/20100519/348242/ 条件:既存のライブラリ、モジュール、外部コマンド等を利用するのは不可 すべて自分で記述すること int64_t, uint64_t の使用は許可する
733 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 00:01:26.30 ID:DgZEeL87.net] Ruby では百万までで、処理に数秒掛かって、78,498個の素数があった class PrimeNumber # 素数 def initialize (to = 20) @to = to @prime_numbers = [] end def add_table (n) limit = Math.sqrt(n).ceil @prime_numbers.each do |prime_num| # 割り切れたら、素数ではない return if n % prime_num == 0 # sqrt より大きいなら、確かめずとも素数である break if limit < prime_num end @prime_numbers.push n # 割り切れない end def print (2..@to).each do |n| add_table n end puts @prime_numbers.length end end
734 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 02:38:16.74 ID:7kLiHGgf.net] >>714 perl 一応これで理屈の上ではできるとは思うんだが、477577まで行ったところでアホらしくなって止めたw #!/usr/bin/perl use strict; use warnings; my @pn = (2); my $n = 1; print "$n: $pn[0]\n"; $n++; LOOP: for (my $i = 3; $i <= 10000000000000; $i += 2) { for (@pn) { next LOOP unless ($i % $_); } push(@pn, $i); print "$n: $i\n"; $n++; }
735 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 03:54:44.08 ID:QfTJwHhj.net] >>714 Ruby 10兆なら改良されたAtkinの篩を使ってガシガシやるしかないだろう citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.4926&rep=rep1&type=pdf sup = 10**7 primes = [2, 3] 5.step(sup, 6){|i| 2.times{ primes << i if primes.none?{|pr| break true if pr*pr > i; i % pr == 0} i += 2 } } primes.pop if primes[-1] > sup p primes.size #=> 664579
736 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 07:04:06.66 ID:N9ICkOCi.net] >>714 昔やった アセンブラ & AVX & マルチスレッド 探してみる
737 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 07:37:04.51 ID:N9ICkOCi.net] みつかりました そんなに昔じゃなかった 2年半前 41兆くらいまで求めてます マルチスレッドではありませんでした 処理内容はよく覚えていません 素数表作成 ビットパターン作成 ふるい のようなコメントがあります 105単位でなにかやってます
738 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 09:37:18.90 ID:y6G1YdWM.net] だんだん思い出してきました 6n+1, 6n+5 に対応するビット列を保持 小さな素数の倍数はマスクを作ってAVX命令でANDしていって 大きな素数の倍数はp(210n+48個の値) にしぼって ビット命令でひたすらふるう感じ キャッシュサイズを考えて小さなバッファでやってます
739 名前:デフォルトの名無しさん mailto:sage [2018/08/11(土) 16:27:34.72 ID:VD7zYIqC.net] いいからコード貼れや
740 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 13:15:41.49 ID:DNU8qmV7.net] お題: ロト6で申込数字のいずれかが必ず5等以上に当選する 最小の申込数字の組み合わせを作ってください ロト6は01〜43の数字から異なる数字6個を順番不問で選び 申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります
741 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 14:21:49.33 ID:ZHEExUj+.net] >>722 ・5等の当選条件を満たしている ・5等以上のいずれかの当選条件を満たしている この2つは同値なの?
742 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 14:57:56.60 ID:1gNSypiF.net] >>723 それを聞いてどうするの?
743 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:09:35.79 ID:ZHEExUj+.net] >>724 1〜5等に該当するならば必ず当選番号と同じ数字が少なくとも3つ入っているということがはっきりしない限り解けないでしょ
744 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:11:11.96 ID:ZHEExUj+.net] ごめん 申込数字6個のうち3個以上が本数字と一致すれば5等以上に当選となります を 申込数字6個のうち3個以上が本数字と一致すれば5等に当選となります と読み間違えてたわ
745 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:14:32.85 ID:1gNSypiF.net] >>723 と>>725 の質問内容が違う件
746 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:17:25.19 ID:ZHEExUj+.net] >>727 同値だよ
747 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:22:10.21 ID:O4fOyJLk.net] 15万個くらいの数字を吐き出して終わり?
748 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:26:16.88 ID:1gNSypiF.net] >>728 >>723 は>>722 とは無関係だが >>725 は(>>722 の解釈次第では)無関係ではない
749 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:29:22.68 ID:1gNSypiF.net] >>725 は 3個以上一致 <===> 5等以上に当選 3個以上一致 ====> 5等以上に当選 のどちらかをたずねたのかと思った
750 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 15:39:13.61 ID:ZHEExUj+.net] >>731 そもそもこっちが>>723 と>>725 で「申込数字6個のうち3個ちょうど本数字と一致すれば5等に当選」って誤解してたのが始まりなんだ わけわかんないこと言ってごめんね
751 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 17:47:14.42 ID:9O3GHV+n.net] >>707 Squeak Smalltalk ('01:23:45' subStrings: ':') reversed polynomialEval: 60 "=> 5025 " ('333:33:33' subStrings: ':') reversed polynomialEval: 60 "=> 1200813 " Pharo Smalltalk (('01:23:45' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 5025 " (('333:33:33' substrings: ':') collect: #asInteger) reversed polynomialEval: 60 "=> 1200813 "
752 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 18:43:07.08 ID:9O3GHV+n.net] >>714 Squeak/Pharo Smalltalk で 100億まで | count | count := 0. Integer primesUpTo: 1e10 do: [:prime | count := count + 1]. count '=> 455052511 ' 組み込みだけど、書くとしても同じアルゴリズムで書くと思うので… https://ideone.com/zKMZYx
753 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 21:48:09.01 ID:cX8lnXZC.net] >>722 C++ https://ideone.com/gCsPec コンビネーション使う方法と、確率DPの二通りでやってみた。 (ちなみに5個当り222本は 6本が2等で、216本が3等) ※確率、期待値系は苦手だ
754 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 21:51:28.06 ID:AkqOEQdA.net] お題:ローカルホストの一覧を出力しなさい
755 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 23:20:11.13 ID:YPN3vVTA.net] >>735 >>722 って、 ・抽選される6個の数字が43C6通りのどの組み合わせでも5等以上が当たるようにくじを買う。 ・くじの購入数はできるだけ少なくなるようにする。 ってことじゃないのん?
756 名前:デフォルトの名無しさん mailto:sage [2018/08/12(日) 23:45:52.09 ID:3JJNsMDc.net] それ以外にどんな解釈が?
757 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 00:22:36.49 ID:yY3qu6sZ.net] >>737 完全に恥ずかしい誤読しました。
758 名前:デフォルトの名無しさん [2018/08/13(月) 04:38:57.55 ID:z6+TJcGX.net] >>736 いいのかこんなんで? cd /etc grep localhost hosts
759 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 09:43:58.01 ID:ux+ef9t8.net] >> 699 Ruby 実数、逆関数 https://ideone.com/lflSc0
760 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 15:57:52.91 ID:LVcLEl+f.net] >>736 訂正 お題:LANに繋がっているホストの一覧を出力しなさい
761 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 16:34:44.91 ID:z6+TJcGX.net] >>742 Linux 等の UNIX 系OSで ping -b ブロードキャストアドレス とやると同じセグメントに繋がっているやつは ICMP ECHO を返して来て IP アドレスが分かるかも知れない。 但しファイヤーウォールの設定で返さないかも知れない。また他のセグメントにはパケット送らないのでわからない。
762 名前:デフォルトの名無しさん mailto:sage [2018/08/13(月) 16:35:44.08 ID:z6+TJcGX.net] あ、ごめん。これは IPv4 限定の話かも知れない。
763 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 15:41:32.33 ID:N93NyTwd.net] 身長と体重がいくつか与えられるのでBMIを求めなさい なお身長と体重は1以上1000未満の整数とする 出力精度は小数第三位を四捨五入 各言語で一番短くかけた人が勝ち 例 ruby while gets end # input 150 50 160 55 180 120 # output
764 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 15:47:03.36 ID:N93NyTwd.net] ミスった。 単位は身長cm, 体重kg 例 ruby while gets h, w = $_.split.map &:to_i puts '%.2f' % (1e4 * w / h**2) end # input 150 50 160 55 180 120 150 225 # output 22.22 21.48 37.04 100.00
765 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 17:20:36.25 ID:6wrElEJt.net] https://ideone.com/lsWdqo
766 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 19:23:09.62 ID:N93NyTwd.net] >>747 67Bまで縮めてみた C https://ideone.com/ivxfS2
767 名前:デフォルトの名無しさん [2018/08/17(金) 21:08:30.56 ID:7hC1UKUq.net] >>745 Perl https://paiza.io/projects/4DM4_8fx_EiOXO4D3aOV4A 普通ならダブルクォーテーション使いそうな箇所で qq() 使ってクォートしている理由は今Androidのタブレット使っててうまく入力出来なかったため。
768 名前:デフォルトの名無しさん mailto:sage [2018/08/17(金) 23:22:41.44 ID:eWaVkn5S.net] >>746 Python3で66バイト https://ideone.com/qWiKey
769 名前:デフォルトの名無しさん [2018/08/18(土) 02:50:37.57 ID:K3y6E3T8.net] 鈴木貫太郎 灘中 https://youtu.be/BnS7vMsVV2s 6桁の整数、ABCDEF の一番上の位のAを、 一の位へ移動した数、BCDEFA が、元の数の3倍になるとき、 この条件を満たす、元の数をすべて(2つ)答えよ ヒント。x = BCDEF とおいて考える 答え、142857, 285714
770 名前: mailto:sage [2018/08/18(土) 07:04:47.65 ID:/9y7PjMS.net] >>751 n/7 循環列問題ですか…
771 名前:デフォルトの名無しさん mailto:sage [2018/08/18(土) 15:32:13.56 ID:h7OdrOPI.net] >>745 Ruby 43 bytes #!ruby -pa $_='%.2f'%eval('1e4/'+$F*'**2*') >>751 3 * ABCDEF = BCDEFA ∧ A != 0 <=> 42857 * A = BCDEF ∧ A != 0 <=> 42857 * A = BCDEF ∧ A = 1, 2 <=> ABCDEF = 142857, 285714
772 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 01:16:27.70 ID:tX8wxXbT.net] >>751 C(ただの力技) https://ideone.com/MljBH1
773 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 01:18:54.67 ID:tX8wxXbT.net] お題: 1.BINGOカードを作る 2.BINGO抽選機を作る ここで使われるビンゴカードは5x5のマス目に1から75までの数字が ランダムに配置されており、数字が見つけやすいように左の列から B列(1〜15), I列(16〜30), N列(31〜45), G列(46〜60), O列(61〜75)が 配置された一般的によく使われるタイプ。 5x5のマスの中央はFree(すでに開いた状態)。 出力例:https://ideone.com/R6eADP (この形に従う必要はないです) 回答例(C言語): カード作成 https://ideone.com/aJBJ9v 抽選機 https://ideone.com/NuIRYm
774 名前:デフォルトの名無しさん [2018/08/19(日) 03:52:23.20 ID:FQWxbBlW.net] >>751 Kotlin https://paiza.io/projects/BFd9v2qeKaNcdssTQuj5Jw これも力業だな。ただループして調べているだけ。 尚、最上位桁が0の場合も含めると0も該当する値になる。
775 名前:デフォルトの名無しさん mailto:sage [2018/08/19(日) 04:55:18.29 ID:FQWxbBlW.net] >>755 Kotlin カード作成 https://paiza.io/projects/YeZEal6Ke6l3goeaDt9JuQ 抽選機 https://paiza.io/projects/j-F4qhKHa_nNTCBEtFbk_w
776 名前:デフォルトの名無しさん mailto:sage [2018/08/20(月) 02:30:06.13 ID:V9a8ZDkH.net] >>755 Perl カード生成 https://ideone.com/82oHLD 抽選機 https://ideone.com/ZICMOi
777 名前:UNIXプログラミング質問スレより mailto:sage [2018/08/21(火) 03:04:43.91 ID:34Jmks75.net] お題:【構造のあるテキストの処理】各項目の内容をそれぞれソートして元のテキストに埋め込め。 ====== 標準入力 ========== * Fruit apple banana orange banana * Animal dog cat penguin ====== 標準出力 ========== * Fruit apple banana orange * Animal cat dog penguin 条件:ソートには外部コマンドを用いること。
778 名前:758 mailto:sage [2018/08/21(火) 03:11:53.68 ID:34Jmks75.net] ソートに外部コマンドを使うのは、テキストの処理を取り替える拡張を想定しています。 例えば sort -u コマンドを tr '[a-z]' '[A-Z]' に置き換えて * Fruit APPLE のようにできるようにしたい。 UNIXプログラミング質問スレにて、 このような処理はシェルスクリプトには荷が重く Powershell や Ruby が向いている、みたいなことを伺いました。 ぜひ回答を参考にしたいです。
779 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 14:35:58.26 ID:2YpoFUMY.net] >>759 Ruby ext_cmd = 'sort -u' ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m) str = ary.map.with_index do |s, i| temp_fname = "temp#{i}" File.write(temp_fname, s[/\n\K.*/m]) heading = s[/\A.*/] execed = `#{ext_cmd} #{temp_fname}` File.delete(temp_fname) [heading, execed] * $/ end puts str * $/
780 名前:デフォルトの名無しさん mailto:sage [2018/08/21(火) 14:40:47.02 ID:2YpoFUMY.net] catを使うように修正 catのヒアドキュメントさえ使えれば一時ファイル作らなくて済むんだけど ext_cmd = 'tr a-z A-Z' ary = $<.read.scan(/\*.*?\n(?:(?=\n)|\z)/m) str = ary.map.with_index do |s, i| temp_fname = "temp#{i}" File.write(temp_fname, s[/\n\K.*/m]) heading = s[/\A.*/] execed = `cat #{temp_fname}|#{ext_cmd}` File.delete(temp_fname) [heading, execed] * $/ end puts str * $/
781 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 01:46:46.02 ID:wb9Zg9xS.net] >>759 Perl https://paiza.io/projects/8vYRslCsu29ZvqFXGkZC7A 項目の区切りは連続した2つの改行になってます。
782 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 01:56:27.69 ID:PmiUKg2L.net] >>759 zsh setopt rcquotes; sed -n '/^*/h; /^*/!{x;p;x;p;}' | paste - - \ | awk -F' ' -v OFS=' ' '$2 { print $1,$2 } ! $2 { printf "%c",0 }' \ | xargs -0 -n 1 -I@ -- zsh -c 'echo ''@'' | tee >(read -e | cut -f 1) | sed ''$d;'' | cut -f 2 | sort -u ;echo' null区切りでチャンク分け。構造がもっと複雑になるとこの方針では対応できない。
783 名前:デフォルトの名無しさん [2018/08/22(水) 03:09:32.13 ID:wb9Zg9xS.net] >>759 bash https://paiza.io/projects/Xq6KyZBO0dqynoJNUYhlEg
784 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 04:46:03.18 ID:h82tfzI1.net] 単純に、別々のファイルに、分割すれば良いのでは? * Fruit のファイル * Animal のファイル 各ファイルを、sort, unique する
785 名前:765 mailto:sage [2018/08/22(水) 05:05:39.72 ID:h82tfzI1.net] 一旦、別々のファイルにしたなら、PowerShell で、 cat .\test.txt | sort | gu gu は、Get-Unique のエイリアス。 漏れのPowerShell では、uniq のエイリアスは使えない
786 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 08:57:59.02 ID:AfGRGNs6.net] このスレでbashが多いのは何故?
787 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 09:06:48.94 ID:AfGRGNs6.net] 今見返したらそんなに多くなかった‥
788 名前:デフォルトの名無しさん [2018/08/22(水) 09:44:37.32 ID:zudhoHB+.net] >>768 Linuxのディストリビューションでは最初からインストールされてるのがよくあってある程度有名で、sh互換でshしか知らなくても書けるからではないかな。 それとWebの実行環境があるというのも理由かも。こういう所で公開するのには都合が良い。
789 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 12:27:54.30 ID:AfGRGNs6.net] >>770 そうなんですね! みんなの回答見てると正規表現や少ないコードや難しい表現でコーディングできてて関心します‥ 自分にはとても到達出来ない‥
790 名前:泣gの名無しさん mailto:sage [2018/08/22(水) 15:46:06.44 ID:PmiUKg2L.net] >>759 zsh setopt rcquotes; sed -E -e 's:^(\* .*):{ echo ''\1''; sort -u; echo } << *:' -e 's:^$:*:' | zsh xargsの区切り文字の辛さからは開放されたが、echo ''\1'' がイマイチだ。 なるほど、構造のあるデータはむしろファイル階層として表現したほうが自然か…
791 名前:デフォルトの名無しさん [2018/08/22(水) 23:06:19.28 ID:YlEU3d3x.net] >>759 Vim $ cat odai-pt11-758.input | vim -es '+:g /\%(^\*.*\n\)\@<=/,/[ \t\n]*\%(\n\*.*\|\%$\)/ !sort | tr a-z A-Z | nl' '+%p' '+:q!' /dev/stdin * Fruit 1 APPLE 2 BANANA 3 BANANA 4 ORANGE * Animal 1 CAT 2 DOG 3 PENGUIN $
792 名前:デフォルトの名無しさん mailto:sage [2018/08/22(水) 23:55:42.77 ID:h82tfzI1.net] 64ビットWindows10 なら、WSL で、Ubuntu を入れると、 bash, vim, Python は最初から入っている WindowsのExplorer では、BOMなしUTF-8 のファイルは検索できないから、 WSL でLinux側から、grep で検索している シェルスクリプトの欠点は、パイプラインがテキスト渡しになる。 オブジェクトの型が無くなって、すべて文字列になる 一方、PowerShell ではオブジェクト渡しだから、オブジェクトの構造・型が維持できる >>759-760 外部コマンドを切り替えるという抽象的な処理を、処理間にはさむのは難しい。 すべての処理の冒頭か最後で、一括でフィルターする方がバグらない
793 名前:デフォルトの名無しさん mailto:sage [2018/08/23(木) 00:19:08.54 ID:FMBOl46f.net] >>774 なるほど… Powershellでの完全な回答例を見せていただけませんか? 標準入力からファイルに落として出力に吐くまで。オブジェクト渡しの雰囲気を感じたいです。
794 名前:765 mailto:sage [2018/08/23(木) 09:28:38.07 ID:qUZ5eK5Q.net] Set-PSDebug -Strict # 変数宣言を強制する $file = ( cat in.txt ) # 入力ファイル $dat_basenames = @() # 拡張子なしのファイル名の配列 foreach ( $line in $file ) { # 各行 if( $line.Length -eq 0 ){ continue } # 空行は処理しない if ( $line.Substring( 0, 1 ) -eq '*' ) { # 1文字目が、* なら $fname = $line.Substring( 2 ) $dat_basenames += $fname # 追加 $fname += '.dat' # 拡張子つき } else { Add-Content $fname $line # 追記 } } foreach ( $dbname in $dat_basenames ) { # 各 .dat ファイル $fname = $dbname + '.dat' # 拡張子つき $str = "* ${dbname}`r`n" $tmp = cat $fname | sort | gu # sort, unique $str += ( $tmp -join "`r`n" ) # 改行区切り echo $str } PowerShell で作った。 cd で、作業フォルダへ移動してから実行して 入力ファイル、in.txt から、各ファイルへ分割する。 分割後のファイル名を、Fruit.dat, Animal.dat として、各ファイルを処理した
795 名前:デフォルトの名無しさん [2018/08/24(金) 05:00:24.02 ID:QxK4Y8yu.net] 点が10個一直線に並んでおり、各点が他の点との右方向の距離をいくつか知っている時、最も左にある点を求めよ 最も左にある点が求められない時はあと何の情報があれば求められるのかを最低個数で列挙すること 例1 a,b,cの点がある。 a点はb点が30右にあることを知っている。 b点は何も知らない。 c点はb点が-40右にあることをしっている。 結果 最も左にある点はa点 例2 a,b,c,dの点がある。 a点はb点が30右にあることを知っている。 b点は何も知らない c点はd点が20右にあることを知っている。 d点は何も知らない。 結果 求められない。必要な情報は a点からc点までの距離
796 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 05:58:44.74 ID:rBPgXHvS.net] >>777 実際に自分で書いてみて、求められたら解答例を提示できる?
797 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 08:02:12.41 ID:ZkSPfVdV.net] 「知っている」の主語が点に見えるけど そうじゃないよね? なんでそういう文にしたの?
798 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 10:33:50.94 ID:phPhGhWW.net] 連結リストを使って、出来上がったグラフが連結なら求められる つまり、出来上がったグラフが二つ三つそれ以上に分かれている非連結グラフになってると、距離は分からない ……直感的には多分こうだが、何かしらの証明は必要 「連結グラフだが距離が分からない」反例があればいい
799 名前:デフォルトの名無しさん mailto:sage [2018/08/24(金) 11:28:11.41 ID:qtSNV1ih.net] >>777 点が10個あるなら例1,2両方とも判断不能。どっちもあと最低7個必要 しかも直線がRなのかR∪∞∪-∞なのかで解が変わるから提示しろ あと出力はともかくデータの与えられ方くらい提示しろ
800 名前:765 mailto:sage [2018/08/24(金) 12:34:38.87 ID:ZgK6e0Tb.net] text = File.read 'in.txt' # 入力ファイル header = "" str_hash = { } result = [ ] def sort_string ( head, hash, res ) res.push head Hash[ hash.sort ].each_key { |key| res.push key } # sort hash.clear # 空にする end text.each_line do |line| # 各行 line.chomp! # 末尾の改行を削除する next if line.empty? # 空文字は処理しない if line.start_with? '*' # 先頭文字が、* なら sort_string( header, str_hash, result ) unless str_hash.empty? # 空でなければ header = line else str_hash[ line ] = true end end sort_string( header, str_hash, result ) puts result Ruby で作った。 PowerShell よりは断然、作りやすい。 ただ、sort_string( ) を2か所で呼ぶのが、ダサイ
801 名前:デフォルトの名無しさん [2018/08/25(土) 17:43:06.40 ID:nE7N9dPk.net] お題 将棋の初期状態の駒40枚を 利き筋に他の駒がないように配置する
802 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:05:04.08 ID:486ljwsa.net] 1000垓通り表示しろとでも?
803 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:45:34.12 ID:WT6GNhg9.net] 明記されてない条件は好きにしていいのがこのスレのルールですよ
804 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 20:55:52.54 ID:N/q1MSK+.net] お題を出す前に出題者は自分の解答を(解くことが可能かの確認も兼ね)作っておくのもルールだ 適切な入出力例や問題文にあるべき条件が抜けてるっていうのはそれをやってない証拠
805 名前:デフォルトの名無しさん mailto:sage [2018/08/25(土) 22:57:36.63 ID:yggGxXGy.net] >>783 有名な作品がいくつかあるね 全て同じ方向を向いたヤツも >>784 全ての組み合わせを数えた人がいるの?
806 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 08:39:25.15 ID:8NHhsyIb.net] トランプの配置についてのアルゴリズムを考えてます。 トランプの横幅をX トランプの高さをYとし 並べるトランプは偶数枚 全てのトランプを配置した時の全体を、トランプ配置と呼ぶとして トランプ配置の横幅と縦幅の割合を、おおよそX:Yとしたい この場合、アルゴリズムはどう考えたらいいでしょうか?
807 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 09:35:40.65 ID:/JFPzkHn.net] ゴリ押しの総当たり 並べる枚数横にx縦にyが無尽蔵に大きくなれば比率に近づく 並べるトランプの上限が決まって無くて偶数枚だけが条件なら延々と並べる枚数を増やせばいい 一兆枚くらい並べれば比率はX/Yに近づく 1000000000億兆枚くらいのトランプを使えば横幅X高さYなんて充分に蟲出来るから全体の割合を調整するのは枚数が多ければ多いほどラク 10那由多ほど並べれば、本当にカードは点くらいなもので、縦横比率はx、yの枚数だけで決まる
808 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 09:52:42.49 ID:O9adGcKd.net] >>788 おおよそとかいまいちよくわからん 例を示して
809 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 09:59:10.89 ID:O9adGcKd.net] >>789 バカなの? > 並べるトランプの上限が決まって無くて偶数枚だけが条件 なら、縦横2枚ずつ(計4枚)並べればいいだけ
810 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 11:08:57.34 ID:MXsSoN4T.net] n枚をnX nYの長方形の対角線上に斜めにならべれば X:Yになるけど 問題あってる?
811 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 13:16:22.70 ID:HHP/3bjy.net] >>788 ┌─┐ │ ?│ └─┘ これを偶数枚並べて縦横比同じにするなら こうだよね ↓ ┌─┬─┐ │ ?│ ?│ ├─┼─┤ │ ?│ ?│ └─┴─┘ アルゴリズムもクソもないように思うのだが? 問題の書き方間違ってない?
812 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 13:22:25.82 ID:6zIp6UvA.net] さすがに、 枚数は外から与えられるのでは?
813 名前:デフォルトの名無しさん mailto:sage [2018/08/26(日) 16:57:45.44 ID:2xrJOS4Z.net] 枚数nに対して p * q = n を満たす正の整数 p, q の内 |p - q| / |p^2 + q^2| が最小になる組み合わせを求めるだけでしょ?
814 名前: mailto:sage [2018/08/26(日) 23:44:29.53 ID:TLwXHnMN.net] https://mevius.5ch.net/test/read.cgi/tech/1480579110/981 に引き続いて、現に困ってしまった問題を出題 windows コマンドラインの xcopy コマンドを実装せよ コマンドラインから「xcopy パス1 パス2」 と入力すると パス1 以下にあるファイルをすべてパス2以下にコピーするようにせよ ディレクトリについては、再帰的にコピーせよ ・現実の xcopy コマンドには色々なオプションがあるが、それは実装しなくてもよい ・読み込み対象のファイルの属性については考慮しなくてよい、読み込めるファイルのみ所定のパスにコピーできればそれでよい ・その他、コピーに問題のある状態が発生したときには、標準エラー出力にエラー内容を表示すればそれでいい Windows Update の度にPCが激遅になるのに堪えかねて、C ドライブを SSD に換えることにしました。OS は再度インストールしなおすつもりです。 現在の C ドライブの内容は別途コピーしておいて、困ったときには参照できるようにしたいと思いました。 ところが、「xcopy c: x:/tmp」とすると、「メモリーが足りなくなった」といって途中で止まるのです…困りました…
815 名前: mailto:sage [2018/08/26(日) 23:57:13.93 ID:TLwXHnMN.net] >>796 条件を追加します ハードリンクやシンボリックリンクは考えなくともよい xcopy パス1 パス2 のパス2 がパス1 の下にある場合、実装がまずいと永遠にコピーし続ける困ったことになるが、それも考慮しなくてもよい (今回やりたいことは、「xcopy c: x:/tmp」であるので、これが問題なく動けばそれでよい…)
816 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 00:30:49.02 ID:FMLlc3nv.net] お金くれたら書くよ
817 名前: mailto:sage [2018/08/27(月) 00:37:15.85 ID:W4qvSHyH.net] >>798 ビットコインではいかがでしょう?
818 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 03:58:54.01 ID:EFFRlxLO.net] >>796 https://qiita.com/himrox/items/3dc7dec2c0e584a78e3d xcopy メモリで検索したらこんなページ出たがこれじゃあかんと?
819 名前:デフォルトの名無しさん [2018/08/27(月) 10:42:11.16 ID:ywsjsNTA.net] >>796 Windowsならエクスプローラ使ってただコピーするのでは何か不都合があるのか? まあ、お題としてそういうのなしで作れというのはアリだが、なんとなくWindowsの場合はエクスプローラが使っているのと同じライブラリ関数を一回呼び出すだけで終わってしまいそうな気がしてならない。
820 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 11:41:58.10 ID:ba8BcfX3.net] xcopy ではなく、robocopy を使えば?
821 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 21:06:25.46 ID:wliJqEsP.net] >>793 他の人も勘違いしてるけど、横縦比をx:yにする問題だよ。おおよそらしいけど。
822 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 21:25:27.41 ID:C1HpzEi0.net] >>803 問題を読んでみな
823 名前:デフォルトの名無しさん mailto:sage [2018/08/27(月) 21:34:12.17 ID:wliJqEsP.net] 失礼しました…
824 名前:デフォルトの名無しさん [2018/08/27(月) 21:37:25.51 ID:l2rfNjjd.net] >>803 トランプの横幅がYで高さがXでしょ? で、偶数枚並べてX:Yにするんでしょ? 4枚でなるじゃん。およそどころかぴったりX:Yに。
825 名前:デフォルトの名無しさん [2018/08/27(月) 21:41:44.66 ID:l2rfNjjd.net] ごめん。逆か。まあしかしわかるよね。
826 名前: mailto:sage [2018/08/28(火) 00:09:17.09 ID:mZeP8xuo.net] >>796-797 https://mevius.5ch.net/test/read.cgi/tech/1434079972/52 >>800 有用な情報ありがとうございます なるほど、256バイト以上のパスは受け付けない、ですか… MSDN https://msdn.microsoft.com/ja-jp/library/cc429198.aspx なんかをみると、「この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加してください。」と書いてありますね でも、C++ でユニコードバージョンに対応させるってどうするのだろう?#define UNICODE だけではダメみたいだし…
827 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 00:22:03.08 ID:LPHHle1d.net] >>808 https://qiita.com/jugemjugemu/items/4db1dfd3d2737d3979df CreateFileW
828 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 00:26:01.26 ID:04IHxsB7.net] >>808 そろそろ適切なスレに移動したら?
829 名前: mailto:sage [2018/08/28(火) 00:29:32.20 ID:mZeP8xuo.net] >>810 >適切なスレ って、あなたはどこを想定しているのですか?
830 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 02:44:52.27 ID:Z7hOIgIF.net] スレタイも読めないのかこいつは・・・
831 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 10:27:46.88 ID:QGrjhPlD.net] >>806 流石に与えられた枚数は全て使うだろ アスペかよw
832 名前:デフォルトの名無しさん [2018/08/28(火) 16:31:53.27 ID:C1AWmFJx.net] >>813 与えられると何処に書いてある?
833 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 18:47:35.73 ID:4ROMapnq.net] とりあえず>>788 はちゃんと問題書くか取り下げるかしろよ…
834 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 22:17:12.42 ID:QGrjhPlD.net] >>814 近似値も想定している文意から汲めないならアスペ
835 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 22:36:38.28 ID:Gymzh0gE.net] >>816 とりあえずお前の解釈を書いてみな
836 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 23:00:50.43 ID:QGrjhPlD.net] >>817 ぱっと見て カードの数nとカードの縦と横の長さx, yが与えられたときに 総てのカードを並べて作った矩形の縦と横の長さをX, Yとして |X/Y - x/y|が最小になるような(X, Y)を求める問題かと思ったんだけど というか>>788 は言葉足らず過ぎるしアスペ云々は言い過ぎだったわすまん
837 名前:デフォルトの名無しさん mailto:sage [2018/08/28(火) 23:15:02.28 ID:Gymzh0gE.net] n枚を矩形になるように並べる なんてことは書いてないけど あと 『|X/Y - x/y| が最小』 は数学的センスが無い x,yを入れ替えても値が変わらない誤差の定義にしたい
838 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 00:49:59.45 ID:e0sa1Xvi.net] >>819 矩形じゃないと縦幅と横幅が定義できないからそ
839 名前:アはいいんでない? >『|X/Y - x/y| が最小』は数学的センスが無い はその通りだね m := min{x, y}, M := max{x, y}, λ_x = X, λ_y = Y として として |m/M - λ_m/λ_M|の最小値を求めるべきだね [] [ここ壊れてます]
840 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 08:01:13.69 ID:cDvJjkNL.net] >>820 前半 どんな形に並べても縦と横の方向が決まっていれば縦幅と横幅はある >>820 後半 さらにセンスが無い
841 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 08:06:49.08 ID:e0sa1Xvi.net] >>821 『どんな形に並べても縦と横の方向が決まっていれば縦幅と横幅はある』 これは偽 少しは検討してから書き込んだらどうなんだ 後半が理解できないなら「テンソル」で調べてね
842 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 08:18:18.70 ID:cDvJjkNL.net] 横方向をx軸、縦方向をy軸としたx, y平面上に トランプを並べるとする 有限サイズ(>0)のトランプを有限枚(>0)並べるので トランプは有界で非空 xの上限 - xの下限 = 横幅 yの上限 - yの下限 = 縦幅
843 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 08:21:39.47 ID:cDvJjkNL.net] >>820 後半 さらにセンスが無い
844 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 08:41:09.91 ID:F6DjsKzv.net] オレオレ解釈でマウント取合いかよ w
845 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 09:24:22.25 ID:e0sa1Xvi.net] >>823 勝手な距離空間持ち出してこないでくれませんかねぇ
846 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 12:43:01.20 ID:r/8waa6p.net] 勝手な距離空間www 後に引けなくなってさらに痛くなる
847 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 17:30:59.79 ID:e0sa1Xvi.net] はいはい。頭いいね坊や 今度からは算数をきちんと勉強してからレスしてね
848 名前:デフォルトの名無しさん [2018/08/29(水) 19:00:11.58 ID:bZ2D0xRL.net] >>816 お前は勝手に汲み過ぎ
849 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:03:26.04 ID:e0sa1Xvi.net] >>829 はいはいよかったですねー
850 名前:デフォルトの名無しさん [2018/08/29(水) 19:10:03.95 ID:bZ2D0xRL.net] >>830 君が元の問題を書いた人か?
851 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:24:13.92 ID:5cagDv75.net] お題:標準入力から(で始まり)で終わる顔文字が与えられる。この顔文字を太らせて標準出力に出力しなさい。
852 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:40:07.15 ID:e0sa1Xvi.net] >>831 ちげーよ、出題者ならまともな条件追加してるわw 自分では何も提示しないのに難癖つけてくるアホがうざったいだけ
853 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:41:27.76 ID:5CKWgBXh.net] テンソル君頑張ってるね
854 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 19:53:04.28 ID:5CKWgBXh.net] トランプを並べる問題で 非ユークリッド空間を前提にしちゃう 頭がおかしい人
855 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 20:01:44.71 ID:F6DjsKzv.net] 頓珍漢なオレオレ解釈提示してドヤってる方がウザいわ
856 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 20:11:16.34 ID:V4Xw96gq.net] >>788 並べるのが矩形に限らないのであれば >>792 のとおり任意の枚数で可能 矩形に並べるとして 枚数が与えられないなら>>793 のとおり4枚で可能 与えられるなら>>795 のとおり 与えられた自然数を最も僅差の2つの自然数の積で表す問題と同値 ただこの場合、問題文の不備を不問にしても >並べるトランプは偶数枚 って条件がなぜ必要になるのか疑問が残るが… いずれにしても問題としては終わってるので これ以上長引かせるのは不毛
857 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 22:16:45.79 ID:Nirpjn+4.net] × 問題としては終わってる ○ 人間としては終わってる
858 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 22:32:57.89 ID:cDvJjkNL.net] どこからも 矩形に隙間なく並べる とは読めないのだけど
859 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 22:47:22.89 ID:AXEWk4o3.net] 書かれていない条件は勝手に解釈すればいい その条件の問題を解くのが楽しいと感じるならその条件で回答すればいいだけ グダグダと問題自体を統一する必要は無い
860 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 22:49:31.68 ID:cDvJjkNL.net] さすがに非ユークリッド空間は無いだろ
861 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 23:06:35.04 ID:rr2ZC/zS.net] 偶数枚並べるようなゲームを想定してるんでしょ
862 名前:デフォルトの名無しさん mailto:sage [2018/08/29(水) 23:10:01.39 ID:cDvJjkNL.net] >>840 「問題を解く」という言葉がふさわしいような条件が見つからないから困っているわけで
863 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 00:01:13.99 ID:s4UfRJo7.net] 面白みが無いならスルーでいいだろ
864 名前:デフォルトの名無しさん [2018/08/30(木) 01:37:09.37 ID:qgZ9UxCP.net] >>832 Kotlin https://paiza.io/projects/R255MQByNDBUFUfADcsP5w スペース入れただけなんだけど、これでいいのかな?
865 名前:デフォルトの名無しさん mailto:sage [2018/08/30(木) 19:45:18.01 ID:PhGGZV18.net] >>845 OKです
866 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 20:49:23.29 ID:QC9x0InA.net] >>248 java pastebin,com/7cnjtkNG
867 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 21:01:15.01 ID:QC9x0InA.net] >>847 変数宣言を増やせばいくらでも行けるけどこれが限界かも リフレクションはやっぱりクソだな
868 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 21:58:19.14 ID:UbfaileO.net] >>248 Squeak Smalltalk, インスタンス変数で254個まで | obj n limit | obj := Object new assureUniClass. n := 0. [[obj addInstanceVarNamed: 'i', (n := n + 1) asString withValue: n] repeat] ifError: []. limit := obj class instSize. "=> 254 " obj instanceVariableValues asArray = (1 to: limit) asArray "=> true "
869 名前:デフォルトの名無しさん mailto:sage [2018/08/31(金) 23:18:37.32 ID:hdwU5T2H.net] 自然数nに対して 3Σ_{k = 0}^{2n}(-2)^k / (2n + 1)^2 が整数となるnを総て求めよ
870 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 10:36:15.07 ID:oWRhkMQP.net] 数学厨は帰れ
871 名前:デフォルトの名無しさん [2018/09/01(土) 10:57:14.89 ID:Wx/QBEc1.net] >>850 数式というか文字が何を表しているのか分からない。最初の { の直前の _ は何を意味するんだ? 更に { } で括った部分と ( ) で括った部分の違いは? まあわかったとしても解く気は起きないかも知れないので面倒なら解説しなくても良い。
872 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 11:24:51.31 ID:DlN6jaxu.net] >>850 じゃないけど _はΣの下 ^はΣの上 テキスト限定でのよくある表記
873 名前:デフォルトの名無しさん mailto:sage [2018/09/01(土) 12:14:11.54 ID:9UhZQst+.net] 数学板でお題スレ立てようかと思ったらすでに似たようなスレがあった 面白い問題おしえて〜な 27問目 https://rio2016.5ch.net/test/read.cgi/math/1532793672/
874 名前: mailto:sage [2018/09/02(日) 01:44:20.01 ID:oSO4LvdH.net] >>796-797 >>808 https://mevius.5ch.net/test/read.cgi/tech/1434079972/53
875 名前:デフォルトの名無しさん [2018/09/02(日) 04:36:43.72 ID:4Jf6YH6e.net] >>853 そういう意味だとすると>>850 はこうかな。 Kotlin https://paiza.io/projects/3ObT5j3XNNkuKqDXdk6E7g しかし、本当にこれで全てなのかは不明。 Double 型で計算できる所まで計算して結果が整数の時の n を出してるだけなので。
876 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 10:05:17.48 ID:jaQJTA9z.net] >>850 (1 + 2 ^ (2n + 1)) / (2n + 1) ^ 2 に変形できる 答えは多分n=1だけだと思う python3で時間いっぱいまで総当たり https://ideone.com/GGijCL
877 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 11:43:51.21 ID:/9nCrt4M.net] >>850 は数学オリンピックのマスターデーモンだな 答えはn=0, 1のみ
878 名前:デフォルトの名無しさん [2018/09/02(日) 16:00:22.41 ID:4Jf6YH6e.net] ごめん。>>856 は3倍するのを忘れていた。
879 名前:デフォルトの名無しさん [2018/09/02(日) 17:40:51.50 ID:4Jf6YH6e.net] >>856 Forkして3倍にするの入れてみたけど大差ない・・・ https://paiza.io/projects/IZQxz8kWTqR-Fw04EN9o1w
880 名前:デフォルトの名無しさん [2018/09/02(日) 17:46:26.05 ID:4Jf6YH6e.net] >>858 あれ?そうなの? じゃあプログラム何か間違ってん
881 名前:のかなあ? [] [ここ壊れてます]
882 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 18:31:32.88 ID:jaQJTA9z.net] >>861 double型の精度の問題 計算結果は指数関数が支配しているからnが大きくなると有効桁数が足りなくなる
883 名前:デフォルトの名無しさん [2018/09/02(日) 18:47:50.05 ID:4Jf6YH6e.net] >>862 なるほど。とすると32以上はもうダメな値ってことだな。 かといってBigDecimalとか使って延々と計算しても意味ないな。 数学的に答え出てるし。
884 名前:デフォルトの名無しさん [2018/09/05(水) 09:52:56.23 ID:lHAOj/Nm.net] プログラミングならここからだな https://site.moshimo.com/rhino/0002.html
885 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 22:16:42.52 ID:vC/rF1cv.net] 質問スレからパクってきた配列の易しい問題 質問者は他レス見るにプログラミング自体経験なさそうだが 893 デフォルトの名無しさん (アウアウカー Sa8f-aTuM [182.250.241.36])[sage] 2018/09/08(土) 21:43:04.65 ID:6/Xg/XCUa どこで質問するべき内容なのか迷っていたのですが調べているとプログラミング関係のようなのでここで質問させていただきます 例えば 1〜50までの数字の中で数字を10個ランダムで選ぶ乱数ツールは検索するとすぐにでてきます しかし、自分が求めているものは2つあり @ 1〜50までの数字の中で2.16.22.23.42.50を除いて10個ランダムで選ぶことができるもの A 1.2.5.6.16.18.20.21.23.28.30.33.39.4047.49.50の選択した数字中から10個ランダムで選ぶことができるもの @とAで挙げた数字は適当ですが場合によっては@で除外した数字やAの選択した数字は変えたいです このような場合自分でプログラミングしないといけないのでしょうか?
886 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 22:39:44.98 ID:CrgXDO1K.net] 百錬の覇王と召喚少女の奴隷魔術
887 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 22:41:19.06 ID:CrgXDO1K.net] >>866 誤爆
888 名前:デフォルトの名無しさん mailto:sage [2018/09/08(土) 22:56:28.52 ID:DvgxKi+t.net] >>865 Squeak/Pharo Smalltalk "@" ((1 to: 50) copyWithoutAll: #(2 16 22 23 42.50)) shuffle first: 10. "A" #(1 2 5 6 16 18 20 21 23 28 30 33 39 40 47 49 50) shuffle first: 10.
889 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 10:46:50.62 ID:yaYW83OX.net] >>865 Ruby ([*1..50] - [2, 16, 22, 23, 42, 50]).sample(10) [1, 2, 5, 6, 16, 18, 20, 21, 23, 28, 30, 33, 39, 40, 47, 49, 50].sample(10) というか1~44までの数字の中で数字を10個ランダムで選ぶ乱数ツール使えばいいだけなのに質問者が謎
890 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 10:51:12.28 ID:XJaXrhZ0.net] ロト6を当てたい一般人だろ そんくらいは察してやれよ
891 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 11:22:22.79 ID:VWkPHcyt.net] >>869 >>870 自演
892 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 11:49:05.41 ID:na1duSUN.net] >>869 アスペ
893 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 12:05:30.79 ID:yaYW83OX.net] お、質問者様の登場か?w
894 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 13:55:51.77 ID:na1duSUN.net] >>873 糖質かよ
895 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:04:26.80 ID:iiqq7TK9.net] 発達障害イライラでワロタ
896 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:05:05.91 ID:juRJVYHI.net] くこけ?😗
897 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:06:54.57 ID:MtkyzY0F.net] とうふさんはすこか??😍
898 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:08:03.90 ID:uzOuEcd3.net] 自演死ね
899 名前:デフォルトの名無しさん [2018/09/09(日) 14:08:44.70 ID:x2owZh/r.net] イ '、 / ハ ', i ハ ノ | i、 | r‐-、 ,...,, | リ从-ノ ノリノノ-)リ、 l :i! i! |: : i!| | リ ‐=・-; -・=‐ Y l イェ〜イ〜プログラミング好きなオタクみってるう?なんJ民デース! ! i!. | ;| . .i从 | ` ̄,:  ̄´ |从! i! ヽ | | i リ,i ゚人,,__,,人:. | リ} ゝ `-! :|! . ハ: i. , __ij..__ 、: 'iノ´ r'"~`ヾ、 i! 彡、 `Zエlフ'´ /ミ ,.ゝ、 r'""`ヽ、i! 彡イ\ ` ̄´ / ト ミ !、 `ヽ、ー、 ヽ _/ ∧ > ―< ∧ \ | \ i:" ) ─ ' ¨: : : : | \ / |: : : \
900 名前:デフォルトの名無しさん [2018/09/09(日) 14:09:07.67 ID:0efZNutP.net] くこは罠🙅♀
901 名前:ニャース [2018/09/09(日) 14:09:35.76 ID:AYD3VQs9.net] ここでしたか
902 名前:デフォルトの名無しさん [2018/09/09(日) 14:09:50.68 ID:+yUoETM4.net] グレイシアちゃんのふたなりチンポ
903 名前:デフォルトの名無しさん [2018/09/09(日) 14:10:48.73 ID:m5NrVMRk.net] 【怒報】ワイ 専門板にて1人からアスペやら糖質認定を受ける【援護求む】 swallow.5ch.net/test/read.cgi/livejupiter/1536469396/
904 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:11:31.78 ID:lnlyvEPx.net] なんJから来たンゴwwwwwwww
905 名前:デフォルトの名無しさん [2018/09/09(日) 14:12:42.07 ID:V2BhMRg2.net] なんjの絆舐めるな!
906 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:14:26.66 ID:JLLEIooV.net] 試合中やぞ
907 名前:デフォルトの名無しさん [2018/09/09(日) 14:15:18.48 ID:KoiRlOSP.net] なんだこのスレ😨
908 名前:デフォルトの名無しさん [2018/09/09(日) 14:15:42.19 ID:1Rk7pi2L.net] アスペの>>869 が居ると聞いて
909 名前:デフォルトの名無しさん [2018/09/09(日) 14:16:23.81 ID:7fkrmWDW.net] なんj書き込んだキッズ 今度から一人で解決しようね🤗
910 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:16:27.10 ID:KW6FAnPg.net] >>872 >>874 実はこいつがなんJでスレ建てたんやで >>869 は被害者や
911 名前:デフォルトの名無しさん [2018/09/09(日) 14:17:33.96 ID:xWgdA58m.net] はい
912 名前:デフォルトの名無しさん [2018/09/09(日) 14:18:16.63 ID:UPePJlkV.net] ここになんjに助けを求めたガイジはいませんかー?🙋 負け犬は何処かな🤔
913 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:18:35.22 ID:mhobrALw.net] くこけ?
914 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:19:05.04 ID:SFaJ2QTJ.net] なんJにスレ立ててまでするチンパンジーが見れると聞いて来ました
915 名前:デフォルトの名無しさん [2018/09/09(日) 14:20:44.64 ID:UPePJlkV.net] 恥ずかしがらずに出てこいよ😘 ガイジくん😁 それとも顔真っ赤で出てこれないかな?🤔
916 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 14:24:20.57 ID:iiqq7TK9.net] >>895 負け犬はお前定期
917 名前:デフォルトの名無しさん [2018/09/09(日) 14:26:08.47 ID:UPePJlkV.net] >>896 キターーー😁 本物ですわ😏
918 名前:デフォルトの名無しさん [2018/09/09(日) 14:26:42.15 ID:7fkrmWDW.net] >>896 スレ立てガイジ本人いて草
919 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:05:27.62 ID:iMK3cxKN.net] 図星か
920 名前:デフォルトの名無しさん [2018/09/09(日) 15:07:21.91 ID:xWgdA58m.net] >>896 大丈夫か?
921 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:57:06.11 ID:yaYW83OX.net] 意味わからないんだがw ハンJでしょうもないプログラミングの質問した人がいたってことか?
922 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 15:58:03.09 ID:yaYW83OX.net] ハンJじゃないなんJ
923 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:03:08.91 ID:SFaJ2QTJ.net] また日本語怪しいじゃん君なんJでもまともに喋れなかったよね?
924 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:07:58.48 ID:yaYW83OX.net] >>872 が建てたのはこれかw tomcat.2ch.s c/test/read.cgi/livejupiter/1536469396/
925 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 16:20:59.20 ID:yaYW83OX.net] で元のレスがこれか https://mevius.5ch.net/test/read.cgi/tech/1526606537/
926 名前:893 [] [ここ壊れてます]
927 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:03:05.57 ID:na1duSUN.net] >>904 立ててないぞ 人になすりつけるな
928 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:12:29.21 ID:3HCWUffr.net] >>901 でなんjをハンjと打ち間違える時点で通報騒動知ってるやつやん >>873 で自分に都合の悪いレスつくと本人認定するような奴だしなんでもかんでも人のせいにしてきたんだろうな
929 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:20:33.91 ID:yaYW83OX.net] あ、これ俺に成りすまして他板でクソスレ立てて人をこっちに呼び込んでんのね 今理解したわ このスレの住人なら>>871-872 程度のことで他の板にスレ立てるわけないってわかってもらえると思うけど 荒れると嫌なんでしばらくROMりますわ
930 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:27:07.85 ID:3HCWUffr.net] >>908 今理解したわとか嘘だろ >>904 で>>872 が建てたと認定してる時点でお前はとっくにわかってただろ
931 名前:デフォルトの名無しさん mailto:sage [2018/09/09(日) 17:44:29.85 ID:C8FWMbW9.net] 単発ばっかだし質問を小馬鹿にされた質問者が自演で荒らしてんだろ いちいち反応すんなkz
932 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:43:55.78 ID:YbX1NAV1.net] >>910 kzとかいつの時代やねん お前はミスターアンモナイトかwwwww
933 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 11:59:19.26 ID:bqaIVrpu.net] a-zからなる単語のペアが与えられるのでそれぞれの元を辞書順にソートした上で同値類を求めなさい なお同一のペアが2度以上入力されることはなく、また出力時の各行は順不同とする 例 -*- input -*- goose pigeon cat dog eel goldfish goose duck horse dog cod eel dove pigeon dog rhino goldfish squid goose lark -*- output -*- dove duck goose lark pigeon cat dog horse rhino cod eel goldfish squid
934 名前:デフォルトの名無しさん [2018/09/11(火) 15:17:49.53 ID:RXZvWAlK.net] >>912 同値類とは?
935 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 17:41:21.76 ID:bqaIVrpu.net] >>913 入力のペア"A B"は A = B を表しているものとして等しいもの同士をグループにまとめて出力してねという問題 正確には「同値類に分割せよ」か「商集合を出力せよ」と言うべきだったか 例えば S = {A, B, C, D, E, F, G} に対して A = B, C = A, D = F, E = G ……(☆) が成り立っているとすると S の全ての要素は A = B = C と D = F と E = G っていう同じもの同士に分類できるよね で (☆) の下で A の S における同値類とは {A, B, C} のことであり、 (☆) の下での S の商集合とは {{A, B, C}, {D, F}, {E, G}} のことを言うよ 問題を解く上で数学的な要素は無いから数学の言葉を使わないで出題すべきだった
936 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 18:43:20.13 ID:UwY6cfla.net] >>912 Squeak Smalltalk | input groups | input := 'goose pigeon cat dog eel goldfish goose duck horse dog cod eel dove pigeon dog rhino goldfish squid goose lark'. groups := OrderedCollection new. input linesDo: [:line | | pair | pair := line subStrings. (groups detect: [:group | group includesAnyOf: pair] ifNone: [groups add: Set new]) addAll: pair ]. (groups collect: [:each | each asSortedCollection joinSeparatedBy: ' ']) asStringWithCr "=> 'dove duck goose lark pigeon cat dog horse rhino cod eel goldfish squid' "
937 名前:デフォルトの名無しさん [2018/09/11(火) 18:58:42.97 ID:RXZvWAlK.net] >>914 それは良いとしても>>912 の問題における同値類とはなんなのか? 例として出されているのは入力が動物の名前のようで、出力は重複をなくした上で大まかな種類ごとに分類されているようではある。 しかしこのそれぞれの分類は一体いかなる基準によって同じと判別したのか? もしこれが単語の意味、およびそれの分類(動物なら四つ足だとか哺乳類だとか)によって分けなければならないとすると、単語の意味やその分類がプログラムの側でわかっていなければならない。 しかも入力にはどんな単語が来るかわからないというのであれば辞書並みの単語数に関してそれを保持していなければまともに分類できない。
938 名前:デフォルトの名無しさん [2018/09/11(火) 19:06:31.95 ID:RXZvWAlK.net] >>915 え?それでいいの?ペアになってるなつが同じ種類ってこと?
939 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 19:55:35.45 ID:zuM/oofP.net] >>916-917 >入力のペア"A B"は A = B を表している
940 名前:デフォルトの名無しさん [2018/09/11(火) 21:04:39.05 ID:RXZvWAlK.net] なるほど。また最初の問題が不備で無限の回答が出るか一つも回答が出ないパターンだったと。
941 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 21:40:27.09 ID:zuM/oofP.net] 見た感じ問題に不備はない まだ何か勘違いしてるのでは
942 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 22:23:42.34 ID:O7hfz4dz.net] >>912 Squeak Smalltalk (>>915 は入力順等によっては機能しないので差し替え) | fn input | fn := [:str | | groups | groups := OrderedCollection new. str linesDo: [:line | | pair found | pair := line subStrings asSet. found := (groups select: [:group | group includesAnyOf: pair]) ifEmpty: [{groups add: Set new}]. groups removeAll: found; add: (found inject: pair into: #,) ]. (groups collect: [:group | group asSortedCollection joinSeparatedBy: ' ']) asStringWithCr ]. input := 'goose pigeon 以下略'. fn value: input. "=> 'cat dog horse rhino cod eel goldfish squid dove duck goose lark pigeon' " fn value: input, String cr, 'squid lark'. "=> 'cat dog horse rhino cod dove duck eel goldfish goose lark pigeon squid' "
943 名前:デフォルトの名無しさん [2018/09/11(火) 22:32:02.08 ID:srQbLx59.net] >>918 「それぞれの元を辞書順にソートした上で」 これは間違いってことね。
944 名前:デフォルトの名無しさん mailto:sage [2018/09/11(火) 22:42:05.94 ID:6IJHkLyh.net] cat dog horse rhinoとかってアルファベット順に出力するよう要請してるのだから少なくともそのフレーズに間違いはないよ
945 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 08:18:25.07 ID:FM7FP8m6.net] >>912 「cat cat」とか重複するペアとか任意のペアが来てもオッケーなバージョン def qs(er) h = Hash.new Float::INFINITY erc = 0 er.each do |r| min = r.map{|e| h[e]}.min ern = min == Float::INFINITY ? erc += 1 : min r.each{|e| h[e] = ern} end h.group_by(&:last).values.map{|s| s.map(&:first).sort} end er = $<.readlines.map &:split puts qs(er).map{|a| a * ' '} * $/ #=> dove duck goose lark pigeon cat dog horse rhino cod eel goldfish squid
946 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 10:35:33.91 ID:0dikQX95.net] >>924 その実装だと仮に squid lark のペアが末尾に追加されたとき すでにある goldfish squid がキャンセルされちゃうけど? https://ideone.com/sbA9P5
947 名前:デフォルトの名無しさん mailto:sage [2018/09/12(水) 11:17:32.60 ID:FM7FP8m6.net] >>925 指摘ありがと 確かにまずかった https://ideone.com/gbKlMH
948 名前:デフォルトの名無しさん [2018/09/13(木) 02:06:53.72 ID:Pm51LGwI.net] >>912 Kotlin https://paiza.io/projects/QoBZQmhMgIbx2IHLgWC07A
949 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 08:17:03.84 ID:EC7Fu/Zv.net] >>927 よーわからんがペアの両方が既知の場合のマージ処理が抜けてない? A B C D A C の場合とか
950 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:08:33.08 ID:HHLUVU7a.net] >>912 の例をマージが必要になる順とかにしといてくれてれば…
951 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 10:14:48.87 ID:q0HzNtar.net] >>912 perl %h; while(<>){ chomp; ($f, $s) = split/
952 名前: /;#first, second undef $keyf; undef $keys; for $k (keys %h){ $keyf = $k if grep /$f/, @{$h{$k}}; $keys = $k if grep /$s/, @{$h{$k}}; } if(!defined $keyf and !defined $keys){ push @{$h{$.}}, $f; push @{$h{$.}}, $s; }else{ push @{$h{$keys}}, $f unless defined $keyf; push @{$h{$keyf}}, $s unless defined $keys; } } map{print join " ", (sort{$a cmp $b}@{$h{$_}}), "\n"}keys %h; [] [ここ壊れてます]
953 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 11:37:05.45 ID:HHLUVU7a.net] >>930 これもマージ処理>>928 が抜けてない? https://ideone.com/NAvn2f
954 名前:デフォルトの名無しさん [2018/09/13(木) 12:31:55.31 ID:cU5S5NHG.net] >>928 両方が既に入ってるなら何もする必要ないと思うのだが。
955 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 13:14:56.32 ID:EC7Fu/Zv.net] >>932 https://paiza.io/projects/YTmp_QaHw0hpHqxX4cBGKw 入力 A B C D A C 出力 A B C C D 期待される出力 A B C D じゃろ?
956 名前:デフォルトの名無しさん mailto:sage [2018/09/13(木) 14:17:54.21 ID:q0HzNtar.net] >>912 >>933 %h; while(<>){ chomp; ($f, $s) = split / /;#first, second undef $keyf; undef $keys; for $k (keys %h){ $keyf = $k if grep /$f/, @{$h{$k}}; $keys = $k if grep /$s/, @{$h{$k}}; } if(!defined $keyf and !defined $keys){ push @{$h{$.}}, $f; push @{$h{$.}}, $s; }elsif( (defined $keyf and defined $keys) and !($f eq $s) ){#merge push @{$h{$keys}}, @{$h{$keyf}}; delete $h{$keyf}; }else{ push @{$h{$keys}}, $f unless defined $keyf; push @{$h{$keyf}}, $s unless defined $keys; } } map{print join " ", (sort{$a cmp $b} @{$h{$_}}), "\n"} sort{$a <=> $b} keys %h;
957 名前:デフォルトの名無しさん [2018/09/13(木) 20:39:52.56 ID:0RheZyur.net] >>933 あー。なるほど。そういうことか。 また考えよう。
958 名前:デフォルトの名無しさん [2018/09/14(金) 03:38:24.35 ID:SYmkUqRw.net] >>928 >>927 は修正した。(URL同じ)
959 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 04:53:58.08 ID:Z6RVr7Qr.net] >>936 差し支えなければ修正前のコードも別URLで再掲載してもらえますか? あるいは公開バージョンの履歴や差分を参照する機能がpaoza.ioにあったら教えてください くしくもマージを考慮「しない版」と「する版」が出揃ったのでどういう修正で対処したか調べると それぞれの言語の(あるいはアルゴリズムの)特徴が際立って面白いのではないかなぁとふと思ったので
960 名前:デフォルトの名無しさん [2018/09/14(金) 08:32:54.25 ID:SYmkUqRw.net] >>937 すまん。前の版はもうない。paiza.ioはそういう機能はない。 思い出して時間があったらなんとかする。
961 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 09:31:32.78 ID:PJYnZf+K.net] >>938 あーいやそこまでしなくても結構です。ありがとうございます!
962 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 12:57:38.55 ID:q6Zv3uN7.net] わざわざ書こうとしてくれるなんて良いやつだな
963 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 18:45:13.33 ID:9KWktx64.net] >>937 >>933 が>>927 の古いコードのコピペ
964 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 20:03:21.13 ID:Z6RVr7Qr.net] >>941 おおありがとう!
965 名前:デフォルトの名無しさん [2018/09/14(金) 20:39:39.94 ID:cNoNQyuv.net] >>941 おお。ナイス。
966 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 20:50:46.38 ID:SK0cQL9c.net] 結構みんな人の書いたコード読んでるんだな いい意味でびっくり
967 名前:デフォルトの名無しさん mailto:sage [2018/09/14(金) 23:34:38.18 ID:vS2kVSOd.net] 逆になんで読まないの?
968 名前:デフォルトの名無しさん [2018/09/15(土) 00:06:11.66 ID:/ZWEPMk/.net] >>912 Rubyで。 https://ideone.com/MEO7XO
969 名前:デフォルトの名無しさん [2018/09/15(土) 08:52:18.54 ID:/ZWEPMk/.net] >>946 訂正。Rubyで。 https://ideone.com/er8XUC
970 名前:デフォルトの名無しさん [2018/09/15(土) 18:55:39.79 ID:Q0ygbCVz.net] >>947 とは別の戦略。 Rubyで。 https://ideone.com/osABKT
971 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 19:09:51.94 ID:1YQGrLsT.net] >>948 ソート忘れてんよ
972 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 00:15:22.99 ID:+Pq0rgCm.net] >>949 付けといて。
973 名前:デフォルトの名無しさん [2018/09/16(日) 08:13:10.07 ID:qJ8HI8bW.net] >>912 Rubyで。ソート、コメント付き。 https://ideone.com/9RyjEF
974 名前:デフォルトの名無しさん [2018/09/18(火) 20:26:30.74 ID:iTEamDZZ.net] https://www.rco.recruit.co.jp/career/engineer/entry/ ↑ この問題どうですか? 自分でも書いてみたのですが合ってるかちょっと分かりません C# https://ideone.com/KNpwLL
975 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:38:45.88 ID:qJ7HW+J2.net] こういうのって答え公開してもいいんか?
976 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:48:39.65 ID:sp2kbyYS.net] 企業がやってるのって大体駄目だったと思うで
977 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 20:49:39.59 ID:Iw2LHuqq.net] >>953 あくまでも過去の出題例、だからいいんじゃないですか?
978 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 00:29:21.73 ID:gYIP5Vsu.net] アウトかセーフか分からないときは答え公開しないほうが無難
979 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 01:18:48.14 ID:pHq1DkBS.net] >>956 アウトになる条件は、「エントリー後メールにて送付されるコーディング試験問題は、当社への応募以外の目的で無断使用しない」…@ だが、>>952 のリンクの問題は「エントリー後メールにて送付されるコーディング試験問題」ではないから@に反しない…A さらに、無条件に誰でも見ることのできる問題であること…B Aよりアウトではないと断定できるし、BがAの結論を補強する 結論として、>>952 のリンクの問題を公開しても問題ない >>956 「アウトかセーフかわからない」という結論にどういう道筋で到達したの?
980 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:43:34.67 ID:KaiQ4rsk.net] お題:コンプリートパネル(出展:高校生クイズ2018) 5×5のパネルが与えられる。各パネルは赤色か白色である。 各パネルに侵入すると、そのパネルの色が赤なら白、白なら赤に変化する。 最初のステップは、場外(左下のパネルの左隣)から左下のパネルへ侵入することである。 以降のステップでは、上下左右に移動することができる。 ただし、ひとつ前のパネルや場外に移動することはできない。 すべてのパネルを白色にするための移動経路を構成せよ。 WWWRR WWWWR WWWWR WWWRR RRRRW => 10 RRRRURUUUL (→→→→↑→↑↑↑←) WWWWW WWWWW WWWWW WWWWW WWWWW => 0 (移動の必要なし) WWWWW WWWWW WWWWW WRWWW WWWWW => 21 RRRRULULLDDRULURRDRDL (必ずしも最短経路である必要はない)
981 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:51:24.03 ID:WMjcSrAA.net] >ひとつ前のパネルや場外に移動することはできない 全部踏めばいいんだからライツアウトの解法の亜種で解けるんじゃねえの
982 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 19:59:02.78 ID:ZUIw2oHI.net] 状態を変えずに任意の場所まで移動できるなら 6箇所だけそれぞれ1つだけRだった場合を計算してあとは回転なりなんなりして重ね合わせればいけるな
983 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 20:34:03.00 ID:WMjcSrAA.net] ↑ □□□ □□□→ 2*3の全パターンで、この二つの方向のどちらかに抜ける経路が存在すればいい あとは合成で何とかなる
984 名前:デフォルトの名無しさん [2018/09/19(水) 21:11:11.50 ID:zcXFtBV7.net] うーん。これはブルートフォースでやろうとするとかなり無駄が多くなって時間とメモリを山盛りに食いそうな予感。
985 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:00:29.71 ID:gYIP5Vsu.net] 5x5=25マスの赤or白の2値だから25bit、現在位置25通り(5bit)に前回位置相対で4通り(2bit)、あわせて32bitパターン?
986 名前:デフォルトの名無しさん mailto:sage [2018/09/19(水) 23:25:52.07 ID:WMjcSrAA.net] 5x5は序の口で、100x100くらいが本命でしょう ついでに最短の最適解も 問題も作るだけならラクだから1000x1000だって0.1秒程度で作れる もちろん解くのは面倒
987 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 01:27:25.92 ID:B4lxWLis.net] >>958 手でしか試してないけど 解けないパターンとかありそうな予感 https://i.imgur.com/u8zgEum.png
988 名前:デフォルトの名無しさん [2018/09/20(木) 09:43:56.68 ID:cMPVhU9i.net] プログラム考える以前に解くためのいいアルゴリズムが思い浮かばん
989 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 12:37:05.73 ID:B1/3j8uv.net] 辺の長さが3以上の時は戻るの禁止ってルールは実質的に無視できそうだな というのも閉路を2周すれば元通りに戻るわけだから xxx x↓x x↑x 上に行ってまた下に戻るって進みたいときは →↓x ↑←x // 中央「←」を3回目に踏むときは下に進む x↑x ってすればいいわけで 2*2 かどちらかの辺が 1 の場合以外は任意のパターンで解があることになる
990 名前:デフォルトの名無しさん mailto:sage [2018/09/20(木) 23:43:04.82 ID:uzQ90Fqy.net] RWWWR WRWWW RWRWW RWWRW WRRWR 全てのパターンが解けて最長がこの形で44手かかる となったけどできたばかりだからまだまだバグがありそう
991 名前:デフォルトの名無しさん mailto:sage [2018/09/21(金) 23:11:26.91 ID:1M+bqJR8.net] https://ideone.com/S7UA0k 表示までできるようになったので ここでは5秒超えるので結果表示されないみたい 10年前のノートで2分半かかる 結果はこんな感じ - - - - - - - - - - - - - - - - x - - - - - - - - RRRRULDRULLDL 13 x - - - x - x - - - x - x - - x - - x - - x x - x RRRRRUUUULLLLDDDDRRRURUULDLDDLUURDLURRUULLDL 44
992 名前:957 mailto:sage [2018/09/22(土) 13:39:38.33 ID:EQZKU8B1.net] 最適解ではないが、人間にも実行可能なアルゴリズムを考えた 上のラインから順番に確定させていく感じ https://ideone.com/nUgNh3
993 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 05:22:08.89 ID:QL0eQEru.net] 解法全然分からないけど 枝狩りもメモ化もせず愚直に全探索すると44手目で10760814742109228通りになるのか…ヤバイな codepad.org/JXkGjMKb
994 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 06:45:48.27 ID:QL0eQEru.net] >>971 メモ化のみの全探索でも厳しいね https://ideone.com/TpZyFM
995 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 07:02:07.82 ID:QL0eQEru.net] >>963 の理屈上なら>>972 のstepの累積和が3,355,443,200(=25<<27)になった時点で全通り出たことになって最短の上限になるのかな?
996 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 10:53:27.77 ID:daMeAE67.net] ttps://cdn-ak.f.st-hatena.com/images/fotolife/m/motcho/20180127/20180127034515.png 連続殺人犯が全ての目撃者を消して完全犯罪を目論む
997 名前:デフォルトの名無しさん [2018/09/23(日) 12:36:34.31 ID:FE85zabB.net] 文字列のペアがn対与えられる。 s(1),t(1) ... s(n),t(n) この時、ペアを適切な数選び適切な順番で並べる事で s(a1)s(a2)...s(ak) = t(a1)t(a2)...t(ak) とできるかどうか判定せよ (ペアを重複して選ぶのもOK)
998 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:41:57.26 ID:A0stA7Ax.net] >>975 それって「s(i)=t(i)となるiが1つ以上存在するか」というだけのように思えるけど、違うかな?
999 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 12:42:44.79 ID:A0stA7Ax.net] >>976 は勘違いでした。取り消します
1000 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 13:27:09.60 ID:yBlaBAG2.net] >>976 最初全く同じこと思ったわw でもこれって十分条件に過ぎないんだな a ab bc c s(1)s(2) = t(1)t(2) = 'abc'
1001 名前:デフォルトの名無しさん mailto:sage [2018/09/23(日) 17:12:26.93 ID:daMeAE67.net] 応用だけは思い付いた ATCGTTGTAC, AAATTTCTCTCTTTCT GTGATGCGTTGCAGGT, ATGCCATGTGAC AAATTGCTGAC, ATGTTGCGTC ATGCGTACCCACG, AGTGCGTTCGTAC ...(以下、1万行続く)
1002 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:45:56.45 ID:ZWCrk0/p.net] >>975 空文字列は含むの?
1003 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 14:31:45.91 ID:twjLvrgB.net] 重複しても良いってなっているのでどうやっていいか分からなくなった。 重複なしなら単に順列の問題で全パターン調べれば良いだけなんだけどな。
1004 名前:デフォルトの名無しさん [2018/09/24(月) 14:56:44.30 ID:hAv+WLv3.net] >>980 含むと何も並べなければOKって事になりそう
1005 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 15:56:26.13 ID:IwP3sRIS.net] >>982 結果じゃなくて入力に 一つも選ばないのがOKならそもそも問題として成立しないだろ
1006 名前:デフォルトの名無しさん [2018/09/24(月) 16:14:35.67 ID:twjLvrgB.net] >>975 Kotlin 但し、重複選択は考慮していない。 https://paiza.io/projects/iRHJjFRj9BJIydX10SIn0Q
1007 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 19:57:46.70 ID:6VO2RDhD.net] >>970 ルール合ってるのかどうか知らないけど ゲーム風にしてみた (Win専用) fast-uploader.com/file/7093342064119/ PASS:11957 慣れると何となく解き方のコツが見えてくる 今まで解けなかった例は無さげ
1008 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 20:25:58.77 ID:8mxLASGw.net] 任意のパターンで解けることはここですでに言及されてるよ
1009 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 00:18:48.94 ID:sMuinsuC.net] エビングハウスの忘却曲線っていって人間のベストな復習間隔があるんだけど 例えば今日勉強したことは明日復習して3日後、1週間一ヶ月ごとに復習すると完全に長期記憶になる これをスマホアプリで管理するプログラミングしたい 理屈は簡単、カレンダーに今日覚えたことを「○○の20-40ページ」とか記入して 明日になったら今日やる復習を表示してくれるシステム プログラミングのプの字も知らんのだ どの言語を使うとかもわからんmacとxcodeはある どういう作り方すればいいかわからない教えてください個人用に使う
1010 名前:デフォルトの名無しさん mailto:sage [2018/09/25(火) 02:12:07.33 ID:JXqOIinx.net] ここはそういうスレではないよ
1011 名前:デフォルトの名無しさん [2018/09/25(火) 02:40:25.79 ID:VjhU4mZC.net] >>987 このスレはそういう質問するスレではなく、誰かがお題を出して回答したい人がプログラミングして回答するスレだ。 そういう質問はまずは既存のソフトでそういうことが出来るのがないか以下のスレで聞いた方が良いと思う。 気軽に「こんなソフトありませんか?」Part.176 https://egg.5ch.net/test/read.cgi/software/1529929775/ それからどうしてもプログラムを自分で作ってみたいというのであれば何らかの言語を覚える必要があるが、 MacやiPhoneの場合は何が良いのか俺はよく知らない。この頃だと Swift なんだろうか? Swift は確か xcode 使って作れたと思うが、詳細は今の俺には分からん。MacOSやiOS関係のスレを探して聞いてくれ。
1012 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 22:18:07.66 ID:/SCmCNkm.net] お前らってファイルそのものへの参照を禁止したうえでquineを自力で書ける?
1013 名前:デフォルトの名無しさん mailto:sage [2018/09/27(木) 23:09:56.51 ID:TEegUJED.net] もう少し詳しく
1014 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 01:19:09.36 ID:voc6Rn8M.net] 次スレは
1015 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 10:09:57.20 ID:phwOkayR.net] 次スレ プログラミングのお題スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1538096947/
1016 名前:デフォルトの名無しさん [2018/09/28(金) 21:10:47.83 ID:WW7qy9i/.net] 埋め
1017 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:28:45.12 ID:CwsEryp/.net] うめ
1018 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:28:53.05 ID:CwsEryp/.net] うめ
1019 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:01.92 ID:CwsEryp/.net] う
1020 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:15.02 ID:CwsEryp/.net] め
1021 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:28.35 ID:CwsEryp/.net] あさうめ
1022 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:36.27 ID:CwsEryp/.net] うめ
1023 名前:デフォルトの名無しさん mailto:sage [2018/09/28(金) 21:29:44.58 ID:CwsEryp/.net] うめ
1024 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 157日 0時間 44分 30秒
1025 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています