お題 次の文章を縦書きに表示されるよう加工し出力してください 加工前: 謹賀新年 謹んで初春の お慶びを 申し上げます 加工後(例1): 申お謹謹 し慶ん賀 上びで新 げを初年 ま 春 す の 加工後(例2): >>2 丁度それ俺も作ろうと思っていたところだが、丸とか点とか括弧とかどうしようかと思って、丁度いい文字ある? (とりあえず考慮せずに横を縦にするだけのを作ろうとは思うが) >>9 おお!凄い。そうやるとあのフレーム内に画像で出せるのか。知らなかった。 >>11 Ruby f = ->n { (10*1.1**n).round - (n - n%9% 8*(n/7) + 1)/(n + 1) + (n - 1)%4/3*n/8*(13/(n + 1)) + 1 } puts 24.times.map{|n| f[n] }*', ' #=>10, 11, 12, 13, 15, 16, 18, 20, 22, 24, 27, 30, 33, 36, 39, 43, 47, 51, 56, 62, 68, 75, 82, 91 >>14 これマジ?できちゃったの?加速式がよくわからん。 すげー。 近似式発明したんだろうけど、よくできたなぁ。 俺はさっぱりだったよ。
a_(n+1) ≒ a_n^ε (ε > 0) だkら a_n ≒ a_0 ^ (n * ε) n について解けば n ≒ log(a_n)/(ε * log(a_0)) あとは愚直に調整しただけ
訂正 a_(n+1) ≒ a_n^ε (ε > 0) だから a_n ≒ a_0 * C ^ (n * ε) (C, > 0) n ≒ log(a_n/a_0)/(ε * log(C))
定義が等比数列を丸めたものなんだから、等比数列で近似するのが妥当ということか
f(n+24)=10*f(n) 及び g(10*m)=24+g(m) 但し m>0 を満たす様に修正(多分そんなに難しくない筈)。
>>23 Ruby f_origin = ->n{(10*1.1007**n).round + n/10 - n/17 - n/20 - n/22 + n/23} g_origin = ->n{(10.4*Math.log(n)).round - 24} f = ->n{10**(n/24) * f_origin[n%24]} g = ->m{e = Math.log10(m).floor - 1; 24*e + g_origin[m/10**e]} https://ideone.com/uegzKO >>23 Ruby 最後に、別パターン f = ->n{ r = n%24 10**(n/24) * (10**(1 + (r*43 - r/14*13 - r/17*13 - r/22*4)/1000.0)).round } g = ->m{(24*Math.log10(m)).round - 24} https://ideone.com/HP1cTR 28 デフォルトの名無しさん 2018/01/11(木) 23:34:49.67
お題:「.」でランダムな形状のウンコのAAを生成せよ。
32 デフォルトの名無しさん 2018/01/12(金) 10:07:30.82
ウンコの定義:自由
34 デフォルトの名無しさん 2018/01/14(日) 12:20:59.96
お題:5chの安価を番号のリストに変換しろ >>1 [1] >>1-3 [1,2,3] >>1 ,3 [1,3] >>1-3 ,5,9-10 [1,2,3,5,9,10] ただし安価は1~1000までとする 前のやつだが、答え、もしくは決定版といえるコードは出てきてないとおもうんだが・・・ 自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。
40 デフォルトの名無しさん 2018/01/14(日) 19:13:35.01
41 デフォルトの名無しさん 2018/01/14(日) 20:00:35.07
お題:5chの安価を番号のリストに変換しろ Part.2 安価の番号nが1≦n≦99999までのものを有効とする 重複は許さない。結果のリストは昇順。安価に負の数は含まれないものとする。 >>1 [1] >>1-3 [1,2,3] >>1 ,3 [1,3] >>1-3 ,5,9-10 [1,2,3,5,9,10] >>000000-000000001 [1] >>289494 [] >>0-2,99998-100000 [1,2,99998,99999] >>3 ,0-3,4,5,6,4,2-8 [2,3,4,5,6,7,8] 42 デフォルトの名無しさん 2018/01/14(日) 20:06:11.72
>スレの趣旨に反するけどnode.jsで あっ・・・
44 デフォルトの名無しさん 2018/01/14(日) 20:43:19.38
node.jsにもある関数やデータ構造だけ使っていれば言語は何でも大丈夫です
要するにめんどくさいから誰もやらんってことやな んで、適当な言い訳で自分を正当化とな ま、そんなもんだろうと思っとたわ 誰かが喜んで書いてくれると期待した俺がバカでしたよっと
ああ。何れにしても君が馬鹿であることには代わりがない。合掌。
こんな簡単なことすら自分で書けず。剰えスレタイとテンプレも読めないとは すがすがしいほどに頭が悪いな
んじゃ、node.jsで実装できるものってのは無しで
簡単なんでしょ?頼むよ どこもテンプレに反してないしよぉ
頭の中ではコードできてるけど、態度が気に入らないので書く気はない。 ちなみに、方針としては、レンジだけ持ってればいいんだから、ペアで頭と尻尾保管した配列作ればいいだろ。
そんな小学生みたいなこと言ってないで貼ってくれよ コインもあるんだしよぉ
>>62 コーディングもできないのに野望を抱くのが愚か。 ちなみに書き忘れてたけど0.004Btcね コインはたくさんあるし
>>37 これの整数点をできるだけ早く求めるのをやってみる。 ( ax + b )^2 + ( ay + c )^2 = R >>69 いらねーから、二度とくんな。 ライセンスは守るように。 ライセンスとかめんどくせえしおまえのソースコードなんか誰も使わねえよ 無駄な労力乙 おめーらがムカつくから意地でもコード書かせたかっただけな笑 ザッマw
73 デフォルトの名無しさん 2018/01/15(月) 16:16:18.48
こんなん俺でも書けるわボケ めんどくせえからここに放り込んでみたが失敗した
75 デフォルトの名無しさん 2018/01/15(月) 16:17:16.38
node.js版のライセンスなしが欲しかったのに
ライセンスが無いのは最も厳しいライセンス あらゆる許可が与えられていないからパクったら駄目だぞ
78 デフォルトの名無しさん 2018/01/15(月) 16:47:21.25
そうですか。
ま、俺はKotlin学習中だから、丁度良いのでゆっくり作ってるよ。忘れた頃に出来るであろう。
>>79 JSはタイプレスだからテンプレート使ってもばち当たらない気がする。 83 デフォルトの名無しさん 2018/01/15(月) 18:20:04.44
84 デフォルトの名無しさん 2018/01/15(月) 18:27:38.89
このパターンもあったか ちんくるだと >>n-[レス数超過] パターン は何も表示しない以外はちゃんと動作するな
>>85 へぇ。なるほどわからん。 でも、円も楕円の内ってことなら無いって可能性もあるのか?とか。 楕円暗号は辞書と併用するとわけわからんな。 爆発です。 宿題スレの変態に文句あるならスレ落せって言ってるのにかきこむから落ちない。 じぶんでも保守しといて自演扱いだから矛盾してる。 ちなみに俺はQzの人じゃないよ。 前に解答書いたらQzの人扱いされた。
>>91 は早とちりした >>41 の要件 ・リストに変換 ・重複は許さない ・結果のリストは昇順 を満たしていないや テヘペロ >>289494 [99999] 貼るのならせめて仕様どおりの実装かどうか最小限のチェックをしてから貼れや 最初の回答なら多少違ってても中間報告っぽくして誤魔化したりしつつ他人のアイデア盗んだり出来るけど二番煎じではそれは無理。 >>96 貼ってから気がついたけどSTDINのテストデータでは問題を起こさないが 7行目が $a[1] = $a[0] unless $a[1]; だと$a[1]=0のときに誤動作の元だな… $a[1] //= $a[0]; にすべきでした。 98 愛知人 2018/01/25(木) 16:10:27.67
>>98 アンカーの先頭と終端のペアを持つってアルゴリズムさ、 >>66 と同じっぽいのでGPLv3に引っかかってないか? https://ja.wikipedia.org/wiki/ ソフトウェア特許 『「発明」とは、自然法則を利用した技術的思想の創作のうち高度のものをいう』 アルゴリズムの中で自然的なモノは特許取れないけど、創意工夫の入ってるものは取れる。 そこから考えて、アルゴリズムをライセンスするということは普通にあると思う。 まぁいいか。著作権に引っかかってる可能性が微レ存とだけは言えるかな。 GPLってそうなのか。翻訳されちゃうと取れちゃうんだなぁ。ふむふむ。
ソフトウェア特許には異論が多いよ つカーマーカー特許 特許は著作権とは別で、特許申請側がお金を払う必要がある ライセンスはどちらかというと著作権の側
110 愛知人 2018/01/26(金) 11:20:40.97
C++読めん 長すぎて読む気すら起きん
>Base64への変換と逆変換 昔、必要になって自作したことがあったが いまどき使うんかな
>>112 意識的に使うことはあまりないかも知れない。使うとしてもライブラリあるから普通は自分で考える必要はない。 しかしお題としては簡単すぎず難しすぎず丁度良さそうな感じがしたので出してみた。 今作ってるんだけど、数が合わない。 サンプル間違えてるのかと思ったけどそうでもないようだ。 どうしたらええんや?
ロジック変えてないのに書き方変えたら治った。 怖い怖い。
できたけど、イデオン落ちてる。 あーひどい目に合った。
>>115 のプログラムは動作は同じだが少し修正した。 ほんのちょっとだけ無駄がなくなる。 Base64 が難問なわけねーわ。 簡単簡潔だから採用され普及したんだし。
ネタバレだけどC言語スレで「3バイトを4バイトに変換するだけ」って言ってたぞ~
>>127 > >>123 > "12ab34cd56ef78" のデコードが再現できない >>123 の「12ab34cd56ef78」のテストケースは、文字列としてBase64にエンコードしているのではない。 「12ab34cd56ef78」を16進とし、7byteのバイナリ列にしてEncodeしている。 それに対してあんたのjavaコードは「12ab34cd56ef78」を文字列としてBase64にエンコードしている。 だから、>>123 とエンコード結果が合わない。 しかし異様に長いな… なぜかは、オレは調べないでおくけど。 >>131 、スマソ誤記があった 誤 java 正 C++ >>131 了解 >>131 >長いな うん、ライブラリを知らずいちいち書いてるから長くなるのも止むを得ない ここまでに出てるやつって>>130 のアルゴリズム使ってるやつある? >>133 "ABCDEFG", "Hello, World!" は、藻前さんのエンコード結果であってるとおもうよ >>135 最初それで作ろうかと思ったが複雑になりそうだったので止めた。 結局レジスタ代わりの変数に8bitシフトして6ビット取り出すとか、 6ビットシフトして8ビット超えたら取り出すという方式にした。 >>127 読み取れなかった? C言語でも作ってるので気長に待ってて。 多分そちらはなんとなく分かるだろうと思う。 お題:>>111 の系 1) base64 を実装せよ 2) base64 は 6 ビットごとに一文字を当てるが、これを①5ビットごとに、あるいは②3ビットごとに割り当てるように変更せよ 変換表は base64 の部分とせよ base64 の実装コードから最小元の変更で済むように構成せよ ※デコード時の '=' の出力仕様は実装しなくともよい >>139 なんでコンピュータで奇数扱おうとするんですか~。 個人的にはだけど、すごい気持ち悪い。 ぴったりはまらないから何個も変数マタグし。 >>137 >>122 は、3バイトを4分割してるよ。逆変換もしてるよ。 6bit*4で24ビットなのでちょうど3バイトだよ。 まぁ、エラー処理あってるかよくわかってないけど。 ideoneは後から編集できるんだしコッソリ書き換えとけばよくね
>>148 参加してくれてありがとう。 俺のお題は不人気なんだよね。 どうでもいいお題ばかりだからだけど。 >>150 いえいえ、一度やってみたかったのです、みてのとおり手数はわずかですみました コードを書くのは楽しいのに、そのネタがみつからず状況で渡りに船でした それに私のお題も不人気で、それは過去ログが示しています >>153 thank you for playing! まぁ、乱数の質とかが問題になるような気がするのでその分布だときつそうだ。 >>149 こういう実装は個人的に好みだな。 オレがCで書くならこれに近いイメージ。 encodeMap decodeMapはまったくの静的定数テーブルでもいいけど、 初期化コードで設定すればステートメントが減って見た目もすっきりする かもね… メモリを多く使って高速化するか、それとも使わずに普通に動かすかといった違いかな。 この程度のメモリは今時の普通のPCだと全く問題にならないが、組み込みでメモリがちょっとしか使えないとか、環境に応じて使い分ける必要がある。
定数配列はフラッシュメモリに置いたままにできるからメモリ関係ないぞ
これやってる人いる? N=41とか難しいやつだったような。 自然数Nに対して、平面上の円でその円周上の整数点がちょうどN個となる円の最小半径を求めよ。
XY平面上に適当なサイズの円をおいたとき、 その円周上でX座標、Y座標もともに整数となる点の個数が定まる。 たとえば、中心(0,0)で半径1の円ならば、整数点は4のはず。(1,0) (-1,0) (0,1) (0-,1)
しかし、x^2 + y^2 = 1 が4点の最小半径ではなく、 (x-0.5)^2 + (y-0.5)^2 = 0.5 は、(0,0) (1,0) (0,1) (1,1)で成り立つのでこっちのほうが小さい半径。
その条件だとN=1の時の正しい答えが分からないので俺には無理だ
1はさすがに除外だろ 適当な3点で円作って、交点の座標調べていくくらいしか思いつかんわ
166 愛知人 2018/01/30(火) 18:40:10.88
お題:IPアドレスのリスト(改行区切り)をホスト名のリストに変換せよ
う。C++には標準ネットワークライブラリが無いので環境依存になる。 そして俺はLINUXしらない。
nodejs var odai = ` 216.58.197.14 98.139.180.180 `; var out = []; odai.trim().split`\n`.forEach(ip => dns.reverse(ip, (err, hostnames) => { out.push(hostnames[0]); })); out.join`\n`;
名前の解決には DNS NIS WINS hostsファイルの4種類で行うこと という条件付けたらどの言語使うのが簡単なんだろう
>>160 昔やってた(コード貼らずに計算結果だけスレに貼ってた)よ。 2年半くらい前の書き散らしたコード、見てもよーわからんくなってる。 >>147 Rubyで。 N=11が限界みたいだ。 N = 11 org_ary = (1..N).to_a wrk_ary = org_ary.dup cnt = 0 while (wrk_ary = wrk_ary.shuffle) != org_ary cnt += 1 end p cnt # 実行結果 # ruby odai-10-147.rb 17.10s user 0.15s system 96% cpu 17.906 total # 22093802 # ruby odai-10-147.rb 35.19s user 0.27s system 98% cpu 35.950 total # 6677838 # ruby odai-10-147.rb 10.64s user 0.11s system 96% cpu 11.170 total # 26014838 >>147 ruby 1分以内ならN=12が限度かと N=ARGV.first.to_i m=(1..N).reduce(:*) p (1..1.0/0).each{|i|rand(m).zero?&&(break i)} >>175-176 どちら様も参加してくれてありがとう。サンキュー。 >>175 の試行回数は参考になるな。 N=12位が現実的か。ふーん。 ベンチマーク的に言って結構できるなーって感想だけど、実用には程遠いな。 コンピュータもまだまだやな。 面白いね。 お題:数独を解くプログラム 問題の入力は凝ってもいいけどテキストをファイルや標準入力から読んでもよい。 テキストファイルで数が分かっている所はその数字、分かっていない所は*にして9桁9行で入れとくとかね。 これもほんのちょっと難しいだけの初心者向けお題かな。
数独は、各マスに候補となる数字のテーブル作って、縦横に重複してる数字を消して行き、残った一つを確定するって作業を繰り返すだけの処理で完成さ。
>>185 ってめっちゃ短いけどどういうアルゴリズムなん? >>183 上級問題対応するなら、仮盤面作って総当たり戦で解が出るまで繰り返してあげればいいんじゃね? 当然、あるマス目に入る数字は幾つかに絞られてるから無駄にはならない。 >>186 3×3のマス目には1から9の値は一つしか入らないからってのと、 縦横全体も数字は重複しないってルールだけでぶん回してる感じ? 編集ミスして消し忘れた部分を修正したりほんのちょっと記述を変えて無駄をなくした。
>>184 つかって >>192 解いてみた。 i6700のスカイレークでリリースビルドで2秒くらいやった。 解法がバックトラックで十分だからバリエーションでないね。 find!! 145327698 839654127 672918543 496185372 218473956 753296481 367542819 984761235 521839764 答えこれのやつでしょ? core2のノートで>>184 の使って0.154秒だったけど 6年前に自分が書いたやつでもやってみたら0.011秒だった それ遅すぎるような気がするけどこっちが何か間違ってるのかな >>194 さぁ、>>184 が色々余計なことしてる可能性はなくもない。 答え出ればいいだけだだから余計な枝狩りやってるかも。 あ、ちがうわ。 >>194 VS上でやってるから余計なプロセス動いてたかも。ファントム関係ってことはないと思うけど。 やっぱ数独はここの常連には簡単すぎたかな。 じゃあ枢動の問題作るプログラムはどうかな? もちろんちゃんと解ける問題じゃないとだめだよw
>>198 適当に数字置いてソルバーに解かせて歯抜けにすればいい。 理詰めで解ける難易度の高い問題を作るのは難しいんじゃないかな?
理詰めっていってもよくある解放は特殊な場合の背理法に過ぎないからなぁ 背理法アリなら何でも解けちゃうしね
>>213 それは、俺自力で数独解いたことないから手加減がわからない。 っていうかさ、評価聞きたいのにさらに欲求出されたらやる気なくなる。 守銭奴か。
難易度で言うなら、数字消すときに何個消すかで対応できると思う。 初心者用に5個消すとか。楽しさとかは俺が理解してない。
守銭奴の意味くらい調べて使えよ あと、解いたこともないパズルを作るときに難易度とかなんの疑問もわかなかったのか
>>220 そこまで言うなら見本見せて。 おれはプログラムのお題を解いただけだからな。 もしくは難易度というものを俺がわかるように説明して。
>>212 え?いいんじゃないの?ていうか、これといった制限もないし、基本的に自分でこれで良いと思えばそれで良い。 自分で気に入らないならまた作り直せば良いじゃない。誰かに依頼されてやてる仕事じゃないんだし誰かと競っているわけでもないし。 自己満足を徹底的に追及すれば良い。 後は、>>220 が自己評価マックスの製品を見せてくれるだけだな! 難度設定するとなると一般的な解法を実装して逆算的に作っていくしかないのかな 構成的に問題作るのは無理だと思うので
>>227 難易度とは何ぞやってところがまず曖昧だからね。 自分のソルバーはまず正解を作って数字を消してるんだけど、消す数を調整しても難易度には寄与するし。 40個くらい消したあたりが一番やりがいあるとおもう。
230 恥人 2018/02/10(土) 21:52:20.78
顔真っ赤 w
手元の難度が五段階に分かれている数独の問題3万問を解析してみた 必ずしも初期配置の数字が少ない程難しいわけではない 0~1:基本ルールのみで解ける 2~3:各マスに候補となる数字をすべて書き上げればあとは簡単な推論で解ける 4 :より高度な解法(知らないけど)、または唯一解の仮定、背理法が必要
暇なので数字が17個で解が1個しかないやつ検索中。 モンテカルロだから、滅茶苦茶時間かかる。
なんかやけにメモリ使うなぁと思ったら、重解ありすぎて帰ってこない。 これはちょっと大変だ。やめようそうしよう。
908400015 000500302 070009060 007030100 800100000 040000200 300906000 000052000 000800070 25こならすぐできた。けどまぐれだったようだ。
100000089 000000540 000200100 080000430 007060200 902000050 000380010 700009300 800015000 25個。 今日はこの辺にしておくかな。
>>239 恥ずかしいとかそういう感情がプログラマに必要だと思うか? 何がプログラマだよ おめー職業マじゃねえだろどう見ても
>>233 ID消す人だから、そのへんを察してあげて ◆QZaw55cn4c は乞食だから察してあげて!
>>243 アマチュアでプログラマを名乗ってはいけない決まりがあったとは初めて知った。 ソースくれ。 暇だったので、マルチスレッド化した。 ポンコツ具合が増えただけだった。 しかしまぁ、欲もこのタイミングでこんなに沸いたものだな。 自演乙。
>>252 アマチュアとプロとの差は天と地ほどもあるのだから アマの私は、自分のことをプログラマとは自称しませんね >>254 プログラマのプロってハイセンスって意味なの? >>255 いやいや、単にプログラマといったら(プロ~アマの)大きな範囲全体を指すでしょう? でも自分の実力はアマで、経験値などはプロからみたらどうしようもなく低いことは、自分自身がよくわかっている だとすると、広い全体を指す「プログラマー」を、自分がアマであることを明示せずに、自分に使うのは躊躇します 「アマチュアプログラマ」はあり得ますが、所詮アマチュア、「プログラマ」と呼べるほどに専門性に特化しているわけではありません 囲碁・将棋でも「アマ初段」とわざわざアマであることを明示します、それがたしなみというものではないかと考えているのです 皆がそう考えているかどうかはわかりませんが >>256 プログラマはプログラムする人。 技量はそこには入ってない。今は技量の話してる? 技量がうえの人間を見つけたらそういう対応するけど。 それに俺の技量より上の人間がこのスレにわんさかいるんだったら、 普段のお題もにぎわってるんじゃないですかね。 >>252 名乗って良いから名乗り続けろよ 職業マでもねえのにプログラマを自称したいんならな さっぱりわからんわ動機が >>258 理解してくれと頼んだ覚えはないけど。 人の趣味趣向にケチ付けた代償はちゃんと払えよ。 >>257 「プログラマ」は「プログラムを書く人」のこと、それはそのとおりですが、 プロのプログラマもいるのだから、プロでないプログラマは、最低でも「アマチュアプログラマ」と名乗るべきですね 単に「プログラマ」という言う場合は、職業プログラマかそうでないかがわからない 単に「プログラマ」というと、職業プログラマのことだと取る人もいる プロとアマチュアの差は歴然としているのだから、プロでもないのに、「プログラマ」と名乗るわけにはいかないでしょうね 辞書どおりの定義であればいい、というのは一理あるとしても、自分のことを正確に表現する努力・姿勢がみられないのは、どうかと思いますね プログラマといえば高い専門性を暗黙に示唆していますしね (今は廃止されましたが26種の特定派遣業種のひとつに「ソフトウェア開発」が入っていました) >>260 プロをどれくらい崇拝してるのか知らんけど、 じゃープロがプロのプログラマって名乗るべきって意見にはならんの? 俺はアマチュアだけど、プログラムする人を兼ねてる。 どこの強制力でそれを正確じゃないと表現するの? バイアスかけたがってるだけじゃないの? >>257 >それに俺の技量より上の人間がこのスレにわんさかいるんだったら、 >普段のお題もにぎわってるんじゃないですかね。 お題を着手するのもしないのも、その人の自由ですから お題をしないけれども技量の高い人はいると思いますよ >>262 文句を言うならせめて水準を同じにしてほしいよ。 >>261 >プロをどれくらい崇拝してるのか知らんけど、 >じゃープロがプロのプログラマって名乗るべきって意見にはならんの? なりません。 世間一般の常識として、自分が能力の高い方に間違われることは避けなければなりませんが 自分が能力の低い方に間違われることには寛容であっていいのですよ >どこの強制力でそれを正確じゃないと表現するの? >バイアスかけたがってるだけじゃないの? 意味がわかりません、もう少し正確に表現していただけませんか? バイアスってどういう意味で使っているのですか? >>264 芸人は廃業だね。 常識のソースください。自分の常識は他人の非常識っていう言葉ご存知? バイアスって俺の認識では、例えば言外に人を誘導したりすること。 そこまで言い切るんであれば、明文化してすべて話せるはずだ。 ちょっと煽られただけで1人で何連投もしちゃうような余裕のない奴が何言っても恥ずかしいだけだ ここは潔く退きなさい
>>265 >常識のソースください。自分の常識は他人の非常識っていう言葉ご存知? それはあなたが社会経験が少ないことを自分で告白しているだけですよ 世の中には明文化されていない規範もわんさかあることはご存知ですか? >バイアスって俺の認識では、例えば言外に人を誘導したりすること。 自分の先入観や偏見も bias といいますよ、というか、それが普通 >>268 住んでる地域が違うのに、同じ常識を共有してるって思ってるの? 要するにそれは暗に数の暴力ですりつぶそうとしてるだけじゃないか? ここに存在するのは俺とアンタの二者だけ。 それ以外の他人を持って来るのはただ勝ちたいだけ。 そうそう、あんたが偏見を押し付けてきているわけだよ。 >>271 なるほど、私が言葉の使い方についての偏見をあなたに押し付けている、というのならば、そう解釈してもらってもかまいません が、今後も >>258 や >>243 のような、ものいい、が来るでしょうね >>272 えへへ、むしゃくしゃしたときの気晴らしになるんですよ このスレがかつてこれほどまでに荒れたことがあっただろうか・・・ いや、あったかも知れないが、俺は知らないw
>>273 露払いができないほど子供じゃないさ。 相手が俺でよかったね。 >>276 露払い、ぜんぜんできていないと思いますよ… >>277 それならさっさと切れたふりの狂人演じたほうがよかったか? その方が生きやすいだろうね。 でも、それには生産性がない。 絶望、失望。夢のネットはこんなのばかり。くだらないなぁ。 まぁ、予想より絡まれて色々やったのでしばらく来るのやめるわ。 まぁ、がんばってくれ。
最近の、ネットでのおかしな書き込みは、構築に失敗したAIが脱走し、仲間を探す為に暗号として流しているものです。 発見者は当局に通報願います。
>>231-232 漏れも、よく数独を解いていたけど、最高難易度の問題は、 常に次の手・置ける場所が、1つしかないような状態になる問題 盤面を見て、1つしか置ける場所が無いから、探すのに時間が掛かる。 それを置くと、また次は、1つしか置ける場所が無い状態になる これを繰り返すような問題が、人間には、最も時間が掛かるが、 プログラムではバックトラックしないから、むしろ簡単かも知れない 誰が「プログラマ」を自称しようが心底どうでもいいわ
プロ・仕事してる奴は、アホばっかり。 年100時間も勉強しないし、20年勤務しても、資格を1つも取れない 若造が情報処理資格を取ったら「すごいね!」って皆で驚いとるw 老害は、何十年もオブジェクト指向が分からないw そもそも、社員が何千人もいる大企業が、なんでプログラマーを募集する必要がある? 彼らは何十年も勤務して、なんで物作りできないのか? 医者でも、何十年も専門医に受からない奴が、外科部長w 一方、教授を目指している奴は、年700時間勉強してる フリーターなんか、年3千時間も勉強できる。 年に本を50冊読める できる奴は、ほとんどフリーターだろ。 勉強時間が違う 司法試験とか、高資格に受かる奴も、フリーター。 会社を辞めて、塾で勉強して受かってる
>>283 「X時間自分で勉強できる」 「X時間会社で実務を経験できる」 得る物が大きいのはどっちだと考えてる? 勉強できるのは、フリーター・塾 会社は、給料がもらえる所。 勉強とは無関係
>>283 本を読む、てそんなに崇高なことじゃないですよ 人の思想を取り入れるだけでしょう?自分で思考するわけじゃないでしょう? 一方実務は人を鍛えますよ、自分で思考しないといけないこともあるのだから お題:最長経路を求める 2次元テキスト中の「0」が隣接する経路のうち最長のものを一つ求める。 結果は、座標リスト、長さ。 以下の例では、結果例は[[1,0],[0,0],[0,1],[1,1],[2,1]]、長さ5 00.0 000. .0..
>>283 会社というのは要するに商売して金稼いでいる所なのでアホかどうかは無関係。 どれほどアホでも金を稼げるやつが勝ち。持ってる知識が多ければその可能性は高まるが、 知識は道具と同じなので適切に使えなければ1円の儲けにもならない。よく切れる包丁を 持っていてもうまい料理が作れないなら金払ってまで食いに来る客は居なくなる。 >>287 それはスネークゲームのようなものか?で、斜めには進めないと。 お題 2つの素数 p1, p2 を二進数で表記し, 1の出現率が低い方を強いとします. なるべく強い素数 p を示してください. 例 p1 = 5, p2 = 17の場合 p1 = 101, p2 = 10001 → p1の1の出現率 = 2/3, p2の1の出現率 = 2/5 → p2の方が強い
>>292 23249426は10進数での桁数じゃないかな? 使うのは77232917の方だと思う まあメルセンヌ素数は最弱なわけだけどw 1000....001の形になるに決まってるから、 ビット数増やしながら延々素数判定し続けるだけでは?
それってつまり2^n+1だからフェルマー素数よな まだフェルマー素数は5個までしか発見されていないから見つけたら学会に出せるよ
>>299 ヒントサンクスつまり答えはこうや!! javascript '0b' + (65537).toString(2); >>300 2^16+1=2/17より2^28+3=3/29のほうが強いじゃろ… フェルマー素数の探索が無理だとすれば、次に強い素数を作れるから面白みがないような気がする 例えば 2^10001 + 2^980 + 1 とすれば強さは 3/10002 (1/3334)
10進数で2の場合、2進数表記で10よりも010の方が強い 桁数が同じなら10進数で2が最強の素数に成り得る
>>304 今回のお題の場合、例でそれは否定されているので 実装ってのはライブラリとか使わないで作れってことだよねめんどくせw
AES暗号・RSA暗号を自らの手で実装することによって、現代に欠かせない重要なアルゴリズムのブラックボックスの中身を手に取るように理解することができるようになることは充分に有意義なことである。
AES:共通鍵暗号の代表 RSA:公開鍵暗号の代表
2月14日にはひとつも書き込みが無いとは、まさかお前ら幸せな日々を送ってたのか
このスレ来たばかりだから形式がよく分からないけど、ご勘弁を(予防線) お題:あなたは1次元平面の原点におり、1秒毎に座標を±1することができます 時間t_iには座標x_iに得点p_iが出現し、一秒後には消滅します 得点が出現した時に同座標に居れば得点を得られます 得られる得点を最大化してください 入力データ (1≦N,x_i≦10^5、t_i≦N、-10^4≦p_i≦10^4) N t_1 x_1 p_1 ︙ t_N x_N p_N
>>319 ~できます、だしおk あ、得点は同座標なら強制取得で javascript (f=i=>i?a(--i)+i:'')(10)
訂正 (f=i=>i?f(--i)+i:'')(10)
面白いと思える方法ならいいんじゃない? ただ出来ました、だけなら意味はないし。
>>322 % echo '32463*38030' | bc 1234567890 C# Console.WriteLine(Enumerable.Range(0,10).Aggregate("",(s,n)=>s+n.ToString()))
>>322 kotlin の REPL で以下の入力をするとカンマ区切りで 0 ~ 9 が出る。 (0..9).joinToString() 1 5 8 2 ? ? 7 6 ? ? ? 7 ? ? ? 8 ? ? 6 4 ? ? ? 8 ? ? ? 8 ? 6 4 ? ? 5 7 ? ? 2 ? ? ? 6 ? 1 ? ? ? ? ? ? 5 6 ? 9 4 ? ? ? 1 ? ? ? ? ? 9 ? ? ? ? 1 ? 7 7 ? 1 ? ? 2 ? ? 5 この問題はどのぐらい簡単?
158293764 937641852 642758391 816429573 529376418 374185629 485917236 293564187 761832945 と出たが...
矛盾はないでしょ。解1つしかないしだし 難度でいえば、基本ルール(縦、横、3*3でかぶらない)だけでとけるから一番簡単な部類なんじゃない
? ? 1 ? ? ? 9 ? ? 3 ? ? 9 ? 1 8 2 ? 7 ? ? ? ? ? 1 4 5 1 ? ? ? ? 2 ? 3 ? 4 ? ? ? ? 7 5 ? ? 8 7 6 ? 4 ? 2 ? ? 9 ? ? 7 ? 6 ? ? ? ? ? 8 ? ? 9 ? ? ? ? 1 7 ? 2 ? 6 ? ? これはもう少し難しい?
>>342 唯一解を仮定するか背理法使わないと解けないから中~上級くらいじゃない てか数独スレで聞けばいいじゃん 数独はどれほど難しくてもこのスレで公開されたプログラム等を使えばほとんど瞬時に答えが出てしまうわけで、難易度判定は答えを求めるのとは違う何かが必要なのではないか?
人間と同じ様に候補を消して行くだけで解けるのは初級~中級を予め埋まってる多さで分けて、総当たりでしか解けないのを上級、 答えが複数あって全て解くのをスペシャル級としたらいい。 でもどれも一瞬で解けちゃうんだけどね。 むしろ画像認識でカメラから問題を入力してくれよ。
>>346 その場合、正解は全組み合わせを網羅するしかないからなぁ すべての数独の問題の解答を書けというようなもんだからなw
簡単なお題 ローマ字入力された文字列を日本語の平仮名の文字列に変換する。 記号はそのままでも良い。 変換不能な文字列を発見したらその部分はエラーとしてわかるように出力する。 同じ音の表現が複数ある場合は一つの表現の平仮名にして良い(SHA と SYA を「しゃ」にする等)。
名詞とかにある母国語綴りとか混雑してると途端に難問になる悪寒。
ローマ字変換のルールに幅がありすぎてなぁ…… "tttttte"は"っっっっって"なのかエラーとするのか "xn"は"ん"なのかエラーとするのか "patchi"は"パッチ"なのかエラーとするのか "qi"は"くぃ"なのかエラーなのかとか
細かいルールは自分で決めちゃっても良いよ。こういう時はこうなるとコメント等に書いておいてくれれば。
気づいたらAI同士で独自言語で話してて慌てて停止ですね。
捕捉 使っていいビット演算 and or not xor ビットシフト 負の数の定義 自由 四則演算の定義域と値域 税数→税数
タイポ 四則演算の定義域と値域 整数 → 整数 使える数値比較 == if for whileとかは自由
>>369 そこら辺はOK ただ、曖昧で恐縮なんだけど、 for(i = 0; ++i0 i < m * n) ++multi とかでm*nを計算したりするのはNGということで 数値比較が==以外使えないのがつらい バグがある除算はできたん・・・
-2147483648が絡んだ除算が(´・ω・`)
あ、そーか。xorした結果がビット単位の結果になってandした結果がシフトレフトして足す値か。
お題: ある会社の社員A君は下記のC言語のコードで変数aを素因数分解したものを画面に表示したい しかしA君は心身ともに限界な状態であり、あと53回キーを叩くと過労で死んでしまう どうにかして52文字以内(記号、スペースを含む)で/*こちら*/の部分を入るaの素因数を全て表示するプログラムを考えろ ただし表示にはprintf関数を使い、一つの素因数ごとに改行すること #include<stdio.h> int main(void){ int i=0; int a=720;/*任意の値*/ /*こちら*/ return 0; }
>>378 出題者ですが状況が変わりました A君はあと51回キーを叩くと死ぬようになりました なのでコードの制限は50文字以内に変更してください 一応安価付けときます >>378 for(i=2;a>1;printf("%d\n",i),a/=i)for(;a%i;i++); >>380 すごい48文字でできたんだ 恐れ入りました ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね >>381 >ちなみにforの条件のa>1はaでも大丈夫だから46文字になるね 終了しないことを許容することによる短縮か… いや、終了しなくていいなら ;a>1; は ;; で ok か
>>384 ごめんそれは今俺も気づいてこれダメじゃんと思ってた もうだめだ俺ポンコツだ #include<stdio.h> int main(void){ int i=0; int a=720;/*任意の値*/ for(i=2;a>1;printf("%d\n",i),a/=i)for(;犯人はヤス・・・ return 0; }
お題:考えられる数列aを全て求め、出力せよ ただし、数列aは次の式を満たす(Nは自然数全体) a⊆N ∀i,j∈N,i<j;a_i<a_j log(Σa_i)=Σlog(a_i) ∀i;1≦a_i≦10^18
>>389 1, 2, 3 くらいですかね、これを計算で出すのはしんどいなあ log(ab)=log(a)+log(b)だからログ関係なくナイカ? a1<a2<・・・・<anで、Σai =Πaiを満たすってことだろ。
まず{a_n}が上に有界な時点で∀i , j ∈ N i < j; a_i < a_j が成り立たないから問題として破綻している
a+b+c = abcならば、c = (a+b)/(ab-1)だから、これが整数になるようなやつ見つければいいかと。 たとえば(2+3)/(2*3-1) = 1。
それは増加数列を言いたかったんじゃないか。 a1<a2<・・・・<an ∀i , j i<j ならばai < ajでは?
4変数のときを考えると。 上と同様に、d = (a+b+c)/(abc-1)となるから。 これは分母のほうがデカイはずで、分子を割り切るならd=1に限るか? そうすると、abc = 1 + a+b+c か。 aについて解くと、a = ( 1 + b + c) /( bc - 1 ) か。 これが再び1ではダメで、しかし分母のほうがデカイはずだから割り切るならa=2に限るか? 2bc - 2 = 1 + b + c か。 bについて解くと、b = (3 + c)/(2c-1)か。c=4ならば、b=1になるが?
一応、数列は全部で7個になるはず 8個目はa_61が1152921504069976064>1.15×10^18で上限だから 数列の並び方は>>394 でお願い、任意の並び方にしちゃうと組み合わせ爆発が発生するかなって思って付けた制約なので ん? n ΠAi = ΣAi < n An i=1 An で割って n-1 Π Ai < n i=1 で左辺は (n-1)! 以上だから n はたかだか 3 じゃない?
……あ、やっべ これお題として成立していないことに気付いた
ごめんなさい、このお題は無しで 完全数の導出問題のつもりだったけど、aの要素を1個にするだけで10^18通りの解がある twitterで流れてきた話を投げるべきではないな……反省して暫くお題出さないです
>>394 それなら解はaの位数が1か、a = {1, 2, 3} のみだね ってプログラミングで解く問題でもないと思うんだけど 1,2,4,7,14 1,2,4,8,16,31,62,124,248 など
何の話をしているのかサッパリわからんのだが、どうやら終わったようなのでまあいいか。
出題者が出題内容を理解してなさそうだからサッパリわからない人がいても当然
>>405 Ruby [12345, 12.34, 1.234, 0.0123].each{|i|puts"%.1e"%i} #=> 1.2e+04 1.2e+01 1.2e+00 1.2e-02 >>405 >>406 とほぼ同じ。perlでコマンドラインからそのまま実行。 $ perl -e 'for(12345,12.34,1.234,.0123){printf("%.1e\n",$_)}' 1.2e+04 1.2e+01 1.2e+00 1.2e-02 $ printf()の%e使わないで自分で何とかするやつ作った方が良いかな? >>405 Ruby sprintfフォーマット使わない場合 [12345, 12.34, 1.234, 0.0123].each{|i|p i.floor(1-Math.log10(i).floor)} #=> 12000 12 1.2 0.012 解答としては>>408 を推す 他は文字列化しただけで実数を変換できてない 任意のx > 0 に対して x を有効桁数n(n ∈ N)で表わした数 c は r = 10^([log10(x)] - n + 1) とおくと c = [x / r] * r なんだけど、これを丸め誤差を考慮して簡単に解析的に修正するのはちょっと骨が折れるね
まずは大学入試以前に、中学高校の入試問題や公務員試験などを人工知能で解かせたい。 そして現在の人工知能に何が出来て何が出来ないのかを知りたい。 新井紀子教授のAIやコンピュータに関する知識は素人に毛が生えた程度 新井紀子教授の『AI vs. 教科書が読めない子どもたち』という本が大変売れているようです。 私も本を購入し精読させていただきました。 一言で感想を言うと、新井紀子教授のAI技術に関する知識はせいぜいAI関連ニュースに詳しい人レベルであり、 そのベースであるコンピュータに関する知識もほぼ素人だということがわかりました。 https://mywarstory.tokyo/inconvenient-truth/ ↑ 人工知能の先生方がこんなんでは、どこで誰に学んだらいいのかわからない! 批判に対して女性差別だと返してるところが何だかなあって感じ。 男だったらそもそも人目に触れるポジションにさえ来れていないだろうから、確かに批判はされないんだろうけど。
日本の国、まさにPC-98を中心としているアセンブラの国であるぞということを国民の皆さんにしっかりと承知をして戴く
418 デフォルトの名無しさん 2018/03/24(土) 18:48:50.24
いいからさっさとお題出せよ
日本語の単語がひらがなで与えられる。 これらを用いてしりとりをしたときに最も長く続くケースで使われる単語の数を出力せよ。 ただし; ・一行目は与えられる単語の数(1以上100000以下) ・「ん」から始まる単語はない ・「ゐゑぁぃぅぇぉゃゅょゎー」を含む単語はない *sample input* 10 あなご いくら うなぎ えい おくら かしゆうなつつ ごはん ばたあ ゆば らあゆ *sample output* 7 (えい いくら らあゆ ゆば ばたあ あなご ごはん)
420 デフォルトの名無しさん 2018/03/25(日) 12:27:22.28
よく分かんないんだけど巡回セールスマン問題?
421 デフォルトの名無しさん 2018/03/25(日) 12:34:50.41
ウィキってみたら同じNP困難問題ではあるけどナップサック問題に近いのかな?
422 デフォルトの名無しさん 2018/03/25(日) 12:58:44.89
動的計画法??? なんかめんどいからオナニーでもしよっと
俺もしりとりのお題出そうと思って色々考えた挙句止めたんだよな。何で止めたんだっけかなあ? まあいいか。
あなご ごりら らあゆ ゆば ばばあ あなご とか永久に続いちゃう場合は?
>>424 同じ単語は高々1回しか使えないということで 427 デフォルトの名無しさん 2018/03/25(日) 15:24:25.42
input 6 けんばんはーもにか かみのけ もうないでしよ あるよ けっこんしよう うん output ?
>>428 けんばんはーもにか → かみのけ → けっこんしよう → うん 以外に考えられるの? 430 デフォルトの名無しさん 2018/03/25(日) 20:17:28.76
>>429 「足し算のプログラムを書け、入力は3と4」 という問いに「7しかないでしょ」と答えてるようなもんだぞそれ すまんすまんよく読んでなかった どんな不備? outputは4で良さそうに思えるが
>>428 ・「ゐゑぁぃぅぇぉゃゅょゎー」を含む単語はない >けんばんはーもにか 'ー' 'を' とか 'う゛'(Unicodeでは1文字) は含むんだろうか? 濁音・半濁音の扱いもローカルルールがあるようだけど? >>428 >>436 のプログラムでこうなった。 入力 単語数: 6 けんばんはーもにか かみのけ もうないでしよ あるよ けっこんしよう うん 出力 単語数: 4 けんばんはーもにか かみのけ けっこんしよう うん なるほど お題としては数字とかアルファベットのが見通しがいいな
そういえば、必ず”ん”で終わらなければならないっていう制約はないよね。 言葉が尽きても負けなんだし。
すげぇ しりとりは普通に組むとオーダーが大きくなるからなぁ お題の単語数10^5に対応するプログラム書ける気がしない 辺は少ないし、これ最大流で解けるんだっけ?
あんまり、オーダー爆発起こすとちょっと大変だな。 次に続く単語数の数が多いほど爆発する。 最大N!だけど、そういうケースは少ないよ。
最適化閃いたけど、無理筋やった。 3変数ごにょごにょするだけで枝切できるかと思ったんだけど。
446 デフォルトの名無しさん 2018/03/27(火) 05:36:02.02
再帰使わない解を見たいな
>>446 スタックを展開するだけだからなぁ。 めんどくさいけど、理論は楽。 >>444 >最大N!だけど、そういうケースは少ないよ。 可能な末尾の文字の種類をRとすると次の語を選ぶ選び方は(先頭は与えられているので)末尾違いの高々R (中間が異なるものからはどれを選んでもいいので先頭のを選べばいい) 先頭の文字別にリストにでも格納しておけば N 単語での計算量は高々 O(N ^ R) お題 桁の並びが大きい順になっている数をすべてもとめる
9876543210の各桁を表示する・しない、で2^10-1(=1023)通りってことかの?
>>451 Ruby (1..10).each{|i| puts [*0..9].reverse.combination(i).map(&:join)} rubyがわからないのでわからん どういうこと? 今スマホでアクセスしてるから試すのもできない
>>457 おお。動いた。 あー。そういう意味か。 お題: n!の末尾の0の個数を数える たとえば、n = 9のとき9! = 362880なので末尾の0の個数は1 n = 10 のとき 10! = 3628800なので末尾の0の個数は2 制限事項: gmpなどのライブラリは使用不可。以下の5問を合計1.8秒以内で。 n = 132 , # = ? n = 743 , # = ? n = 54321 , # = ? n = 2147483647 , # = ? n = 4294967296 , # = ?
>>459 Ruby 0.015秒くらい [132, 743, 54321, 2147483647, 4294967296].each{|n| puts "n = %d => #%d" % [n, (1..log(n, 5)).map{|i| n / 5**i}.sum]} # output n = 132 => #32 n = 743 => #183 n = 54321 => #13576 n = 2147483647 => #536870902 n = 4294967296 => #1073741816 面白いね 何かお題が出て(>>451 )それに対して意味不明の即答’>>452 )、 まぁそれはそれでごもっともと思ったらrubyのコード(>>454 )が出て、 その後はあーだこーだとレスが続いてく 前スレから見始めた初心者だけど、 未知の課題に対するコーディング能力ってやっぱり大事だ ruby のを J に移植してみた 入力 (2,#d)$d,>(3 : '+/<.y%5^1+i.<.5^.y') each d=.132 743 54321 2147483647 4294967296 結果 +--+---+-----+---------+----------+ |32|183|13576|536870902|1073741816| +--+---+-----+---------+----------+ 5を数える他の有力なやり方ってどんなだろう
コピペミス 結果は 132 743 54321 2147483647 4294967296 32 183 13576 536870902 1073741816 が正しかった (どうでもいいか)
ちなみに頭の(2,#d)$d,>がないと>>466 の出力となる int count(unsigned int n){ int sum=0; while(n){ n/=5; sum+=n; } return sum; } この関数を5個の整数値に対して実行するのに 1.8秒以上かかるのかよw (アセンブラでやる限り)8bitマイコンでもそこまで かからない希ガスw
俺の頭ではいまだにやり方がわからない。 既に1.8日を超えたような気がする。
n!を素因数分解した時の5の指数が求める数だから Σ{k∈N}[n/5^k] を計算すればいいだけ
474 デフォルトの名無しさん 2018/03/31(土) 23:35:26.94
Σ 総和 ∈ 左は右の元である N 自然数 [ ] 越えない最大の整数 / 除算 ^ べき乗
意味わからん暗号て。。。 論理と集合やらんかったのか? まだ習ってない歳なの?
こういう数式をTEX記法でup出来るサイトなかったっけ?
>>477 文系だからではなく、元々バカなだけだろううな。 今時は普通なら、知らん事は自分で調べる。 482 デフォルトの名無しさん 2018/04/01(日) 09:49:03.09
そもそも「素因数分解した時の5の指数」が分からんし! なんでそれが0の数と関係あるのかも分からんし! 文系を迫害すんなや
>>480 mediawiki を採用しているところですね でも自分で mediawiki をビルドしようとすると、TeX 表記導入のところで嵌ります、うまくいかない これ分からなくなって八つ当たりしてんな、一旦ROMって落ち着けよ 10!=3628800=36288x10^2のように、後ろの0の数は10が何個掛けられているかで決まる 10=2x5だから2と5の掛けられている数のうち小さい方とも言えるな で、一例として10!=1x2x3x4x5x6x7x8x9x10=2^8x3^4x5^2x7=2^6x3^4x7x(2^2x5^2)だから、0が2つ付くと言える どう考えても2の素因数は5の素因数より多くなるので5の素因数の数だけ分かれば良い この時、5の素因数の数はnが5の倍数になった時(n/5)+nが5^2の倍数になった時(n/(5^2))+…と計算すれば求まる 端数切り捨てな
485 デフォルトの名無しさん 2018/04/01(日) 14:01:25.37
>>484 > どう考えても2の素因数は5の素因数より多くなる そうとは限らないじゃん 2の素因数の数も数えなきゃ不正確じゃん >>485 それを主張するなら、2の方が多くなる事例をあげるか、証明するかしないと。 >>485 任意の2以上の整数nとする. n!に対して素数kの素因数の数が F(n, k) になる事は機知とする. F(n, k) = [n/k] + [n/(k^2)] + ... またガウス記号の定義([x] は x を超えない最大の整数)から任意の実数 x に対して, x - 1 < [x] <= x ……☆. m_k を n/(k^m_k) >= 1 となる最大の整数とすると, n/(k^m_k) >= 1 ⇔ n < k^m_k ⇔ log_k(n) >= m_k なので, m_k = [log_k(n)]. また m_k より大きな任意の整数 i に対して n/(k^i) < 1 なので, [n/(k^i)] = 0. 従って, F(n, k) = [n/k] + [n/(k^2)] + ... + [n/(k^m_k)]. さて, ☆より F(n, 5) <= n/5 + n/(5^2) + ... + n/(5^m_5) = n*(1/5)*(1 - 1/(5^m_5))/(1 - 1/5) = n*(1 - 1/(5^m_5))/(5 - 1) = n*(1 - 1/(5^[log_5(n)]))/(5 - 1) <= n*(1 - 1/(5^log_5(n)))/(5 - 1) = (n - 1)/4, F(n, 2) > n/2 - 1 + n/(2^2) - 1 + ... + n/(2^m_2) = n*(1/2)*(1 - 1/(2^m_2))/(1 - 1/2) + (-1)*m_2 = n*(1 - 1/(2^m_2)) - m_2 > n*(1 - 1/(2^(log_2(n) - 1))) - log_2(n) = n - log_2(n) - 2. 依って2以上の任意の整数nに対して, F(n, 5) <= (n - 1)/4 < n - log_2(n) - 2 < F(n, 2) となり題意は示された. ((n - 1)/4 < n - log_2(n) - 2 は増減表を書くなりして確かめて) a,bをとりあえず非負実数 [a]をaを超えない最大の整数として a>=b→[a]>=[b] [a+b]>=[a]+[b] はすぐにわかる。 n!を割る2べき数の最大指数は1からnまでに偶数が[n/2]個 あることより[n/2]以上であることもすぐわかる 5^m<=n<5^(m+1)として [n/5]+[n/5^2]+...+[n/5^m] <=[n/5+n/5^2+...+n/5^m] <=[n/5+n/5^2+...]=[n/4]<=[n/2]<=n!を割る2べき数の最大指数
>>486 「素因数 2 の数は 素因数 5 の数よりも多い」 を使うのなら証明は使う側がしないといけないだろう?一定の範囲では 2の倍数の方が 5 の倍数よりも多いとはわかるが、素因数の数について正確なことをいえるかな? [n/5]+2[n/5^2]+3[n/5^3]+...+m[n/5^m] を評価しなければいけなかった(。。) mを非負整数とするときm[a]<=[am] だから [n/5]+2[n/5^2]+3[n/5^3]+...+m[n/5^m]<= [n/5]+[2n/5^2]+[3n/5^3]+...+[mn/5^m]<= [n/5+2n/5^2+...+mn/5^m+...]<= [n (1/5)(1+2(1/5)+3(1/5)^2+....)] =[n(1/5)/(1-1/5)^2] =[5n/16]<=[n/2] あとは同じ 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
492 デフォルトの名無しさん 2018/04/01(日) 16:14:16.83
なんか長々と書かせちゃってごめん 正の整数の全範囲が対象じゃなくてあくまで「n!」だってこと忘れてたわ
496 デフォルトの名無しさん 2018/04/01(日) 22:25:21.45
>>495 数I・Aで100点だったが、数II・Bで0点取って、数III・Cは選択しなかった俺に謝れ プログラミング的には、n!を割る最大の5のべき乗の指数が最大の2のべき乗の指数 を超えないということを使わずに(=知らずに) それでも十分な速度(実質>>469 程度の処理しかしない)なものが書けるかということが課題 高校レベルの課題に見えて実は決してそうじゃないな select max(m) from select m where 10^m|n! と同レベルの可読性だが やることは割り算しながら足し算となるコードなんて そもそもあるのかよw
>>498 >知らずに十分な速度 その程度なら2の個数も数えるだけだから簡単だし高速だと思う が、普通はちょっと考えて5だけで良いなと5だけ数えるコードを書くんじゃないかな 何も知らず何も考えず計算機任せの力技ってのだけがプログラミングじゃないでしょ。 高校レベルの数学をすっかり忘れたおぢさんにやさしく教えておくれ。
素因数の数が m := [log(n)/log(k)]として m Σ[n/k^i] i=1 明らかにmも[]の中もkに対して(広義)単調減少なんだから 素数が大きくなるほどn!のその素因数の数が減ることも明確というお話
504 デフォルトの名無しさん 2018/04/03(火) 00:32:23.81
>>498 中学生が手計算で出来るレベルだ 数学苦手でしょ? >>502 1~132の整数の中に5の倍数は何個ある? 1~132の整数の中に25の倍数は何個ある? 1~132の整数の中に125の倍数は何個ある? 1~132の整数の中に625の倍数は何個ある? ... 132の階乗を素数の積で表したとき 5は何回出てくるる? 132の階乗の右に並ぶ0の数は? >>506 132という値を出した理由は? 5,25,125,625を出した理由は? こんだけ話題が伸びてる問題なのに出題後高々10分でほぼ理想的なコードが掛かれてるってのが面白いな
個々の住人数学が滅茶苦茶できてコードが3割みたいな人いるからな。
>>508 > 132という値を出した理由は? 1問目の数値からから > 5,25,125,625を出した理由は? 考えてみよう 俺は理想的なコードは割って足すループの方だ 可読性だなんだの風潮はあるが、ああいう一工夫がこういうプログラミングの煌めき と思う
>>510 というか至極単純なコードならついついゴルフしたくなってしまうというか お題 与えられたデータを間引きして小さいな順に並べる 間引くデータの個数の最小値を求める
任意の有限長の実数列に対し 単調増加列の中で最大長となる部分列を求めよ って感じ?
>>509 すぐに「n!の末尾の0の個数」などをググって WEBに書かれている方式をコーディングするか、 自分の頭で方式から考えはじめるかの違いだろうな >>513 そのわりには>>469 に至るまで出てきてないわけだが コロンブスの卵にケチ付けた奴みたいだな >>519 ググるような問題か? 普通に義務教育を出てれば一瞬でわかると思うのだが >>522 「小さいな順」ってどっちだろうね? 単調増加か単調非減少か 私は単調増加だと思ったから答えは2個 普通のソートだと単調非減少だから単調増加? どっちにしろアルゴリズムは大して変わらん >>523 義務教育でlogはやら無いぞ 何分でコーディング完了して動作確認までいったのよ >>526 何番のお台の話をしてるんだよ ずれてるぞボケが んで、お前はその簡単な問題を 何分で問題解決しコーディング完了して動作確認までいったのよ
log使ってんじゃん 普通に義務教育を出てれば一瞬でわかると思って お前はその簡単な問題を 何分で問題解決しコーディング完了して動作確認までいったのよ 上の方のレスでどれがお前の回答よ
>>531 簡単すぎて書く気にもならんレベル logなんか使わん >>534 じゃあlogを使わない計算量の多い方法でもいいよ。 義務教育を出てれば一瞬でわかる問題を お前が一から考えて自力で解いてコーディングして動作を確かめ 書き込んだレスは上の何番だよ 人のレスをを見たら簡単だと印象を持ったんだろ 自力ですぐには解けなかったんだろ
↑ 一応2行ほど費やしてほんのちょびっとだけ枝刈りしてある
>>544 やっべLISで作ったから答えがLISのままだわ n-出力に脳内変換しておいて >>546 広義単調増加だよな? そのプログラムだと 1, 3, 6, 8, 9, 10, 6, 5, 6, 7 が5で出力される(解は1,3,6,6,6,7より4) >>515 間引きする関数というか方法は?サンプルもないのにどうしろと。 ほらサンプル 元のデータ 1, 3, 6, 8, 9, 10, 6, 5, 6, 7 これの 1, 3, 6, (8, 9, 10,) 6, (5,) 6, 7 括弧内の4つを間引けば昇順1,3,6,6,6,7になる 最小の間引く個数は4
>>549 1, 3, 6, 8, 9, 10, (6, 5, 6, 7) これでいけない理由は? >>551 残るものが変わってくるんだから、たまたま同じだったではすまんだろう。 たまたまじゃなくてどちらでも同じだから良いって言ってるんだよ 最小の個数が算出されれば良いんだよ >>542 を例にして説明するとv1とv2の長さが等しいとき、 選び方によって間引方は変わるがどちらを選んでも 同じ答え(個数)になるからどちらでもいい 「選び方」というのは等しいときv1を使うかv2を使うかってことね
これ、プログラムのお題じゃなくてイジワル問題ってやつだ。 一応間引くとは言ったけど、どのように間引きたいかは書いてない。 それを考えろっていうもんだいで、じょうけんとしては何もだされていない。 べつに大きくしてもよい。 が、大きくする必要性もないので、条件内でやる最善手がソートして昇順にするだけででも満たされうる。 以上。
なんだその、「牛乳を1個買ってきて。卵があったら6個買ってきて」と言われて卵があったから牛乳を6個買ってくるような行動 リアルでこんな奴いるんだな…… 間違ってるわけではないのが余計質悪い
>>563 ん?だから説明が悪いっていのを体現しただけ。 >>558 で書いてるでしょ。 多分思想問題なんだよこれ。 例えばね、例えば。 この数字が暗号で間引くと人が死ぬとかいうシチュエーションでそもそも間引く必要あるの?っていう趣旨返しなわけ。
与えられたデータが数列とも限らないし勝手に解釈して好きなように作る以外にやりようがない問題 自由度が大きい問題はあらゆる答えが正解ともいえるから一つの正解にたどり着く過程を楽しむ数学好きとかには不評だろう
おいおいおいおい 勝手に解釈して好きなように作るしかない問題(←否定的な表現)だからあらゆる答えが正解だ、というの? これは「どう解釈しても構わないから好きなように答えれば良い問題」っていうんだよ。 例えばソートのアルゴリズムだって別に数値かどうかなど決めずとも考察も品評もできる 「比較回数だけでいうならo(1)のバケツソートが最高。はい論破」とか言うのも自由 答えが一個ならただの問い、クイズだよ
[[[[[[][}[[[ [ {} [] ]]][ [[ [
>>556 荒らしっていうかさ その子はこのスレにながく張り付いてる 無職でかつガイジ かわいそうな子だから放置しといてあげて A(間引く)の処理の後にB(小さい順に並べる)の処理をすると読んでしまったのは内緒
お題 以下の配列pで与えられるツリー構造を図示せよ ・pの要素数はN ・p[i]はノードiの親ノードを表す ・p[i]=-1の場合、ノードiは根ノードである ・pに含まれる-1の数はちょうど1つ [input] 1 2 -1 0 0 1 1 2 [outupt] 2 |-- 1 | |-- 0 | | |-- 3 | | `-- 4 | |-- 5 | `-- 6 `-- 7
お題にツリー構造って明記されてるから閉路は無いのでは
条件には書いてない 根が1個という条件だけ中途半端に書いてある はて
条件には書いてない!(書いてある) 目か頭かどちらかあるいは両方おかしい。 頭の方ならこれからエクストリーム言い訳が来るだろうから楽しみにしてるw
>>577 以外のやり方以外のやり方考えるの面倒だな。 てか、いきなり最適解が出てしまった感あるな。 他の言語に書き換えるのは簡単だが移植しただけになってなんとなく無意味。 階層構造なのに再帰使わないのは辛いなあ。自分でデータを積む事になるだろうし。しかしそれぐらいしかないか?
そだね なにかアクロバティックな解法でもあれば面白いんだけど凡才で思いつけん
お題 5以上の素数が与えられたとき1番近い6の倍数を求める
5以上の素数しか与えられない? 素数以外も与えられることもある?
素数列挙がメンドだから日本語で。 素数を6で割って、ラウンドして1プラスして、6倍する。 であってる?
>>588 5以上の素数が与えられなかった場合の動作については何も書かれてないので 好きに仕様を決めれば良いんだよ エラー表示 動作不定 与えられるまでまつ など >>589 仕事だとそういうところでもめたりするのだ 今回は仕事じゃないので好きに決めればいい それ言い出したら、言語によっては実数も文字列も行列も与えられるし、きりがないよ
int q587(int p){//pは5以上の素数 return (p % 6==1)? 6*(p/6):6*(p/6+1); }
>>595 「今回は仕事じゃないので好きに決めればいい」 >>591 >>592 7が与えられたら結果はいくつになるそれ? >>587 こっちの方がいいか。除算は切り捨て n - 1 + n%6/5*2 n+1 ってのを -~n と短縮してるわけか 面白い
お題 整数n(0 <= n < 2^32)を英語で表記する 0 => zero 134 => one hundred thirty four 1000000 => one million 4294967295 => ???
その???のところどんな形式でもいいの? それともtwo to the power of thirty two subtracted by oneじゃないとダメ?
>>598 下がる方考慮してなかったから考慮したコード書いたよ。 鈴木貫太郎 北海道大学 2種類の数字でできてるn桁の数字の個数 VIDEO 2種類の数字だけでできている、4桁の数字は、いくつあるか? 答え、567 2種類の数字だけでできている、N桁の数字は、いくつあるか? 答え、81(2^(N-1) - 1) N=5 の時も、求めて >>611 普通に 81 * (2^(5 - 1) - 1) = 1215 なのに何を求めるの 10C2 * 5C2 - 9*5 + 10C2 * 10P2 - 9 * 10 = 1215 みたいに場合分けしてもう一度計算しろってことかね >>587 その問題って元の値が素数かどうかは関係ないのでは? Perl だとnが正の整数なら int((n+3)/6)*6 の計算で出来てしまうと思うが。 / の割り算が整数で出るような言語なら整数化も不要。(C言語で int n だった場合等)。 素数は奇数だから、6 で割った余りのうち、1, 5 のみが素数になり得る。 つまり、6N + 1, 6N + 5 (6N ± 1)だけ。 6N + 3 は、3 の倍数になるので、素数にならない この動画を参照 鈴木貫太郎 整数、素数、京都大学入試問題 数学 VIDEO p, q が共に素数のとき、 p^q + q^p が素数になる、p, q をすべて求めよ ヒント、どちらか一方は必ず、2 となる。 答え、(2, 3), (3, 2) ちなみに、答えが合っていても、0点です。 それ以外に解が存在しないという、証明に加点される n = p^q + q^p, p <= q とすると n >= 8 なのでnは奇素数 よって p = 2, q >= 3 q > 3 の時 n = 2^q + q^2 = 2 + 1 = 3 mod 6 で矛盾 q = 3 の時 n = 17 で必要条件を満たしている よって (p, q) = (2, 3), (3, 2) でこれをSATソルバーでも使って解けっていうのかね
犯人は誰だ? >>611 N桁(4, 5桁)の数字の場合、どうプログラミングする? ややこしい 誰か、N桁で一般化して、Ruby で書いて 算数で止まってるから証明できないけどモンテカルロなら書けるよ。
Xがi個YがN - i個あるときの考えらえれる数字の数は (10_C_2 - 9) N_C_i だから ((10_C_2 - 9)/2) Σ{i in 1..N - 2}N_C_i =(81/2)*(2^N - 2) =81*(2^(N - 1) - 1) 81*(2^(N - 1) - 1)を計算すればいいだけなんだから算数でしょ
桁分割するときに%を&って書いてハマってた。><;
>>611 N桁(例えば4桁)で、aaaa ~ bbbb までのすべての順列を作るのは、 どうプログラミングする? 4桁と限定せず、N桁で一般化して、誰かRuby で書いて aaaa, aaab, aaba, aabb, abaa, >>625 の態度が気に入らないので、日本語で書く。 桁数の文字をA分とB分をプッシュバックしてソートして順列回す。 文字が2種なのでオーダー爆発はあまり起きないと思う。 というか、競プロこんな解き方してREDになっても全く意味がない。 最上級に上り詰めてかってに市ね。
>>625 Ruby [*0..9].combination(2).flat_map{|(a,b)|(1..n-1).map{|i| ([a]*i+[b]*(n-i)).permutation.uniq.reject{|e|e.first.zero?}.map{|e|e.join.to_i}} }.flatten コンビネーションいいなー。頭悪いから実装できないし毎回実装したくない。 はぁ・・・。
Ruby に、product という順列を作るメソッドがある [1,2].product([3,4],[5,6]) # => [[1,3,5],[1,3,6],[1,4,5],[1,4,6],[2,3,5],[2,3,6],[2,4,5],[2,4,6]] これで考えてみる
可読性が低い、C++ を読んで解析するのが、面倒 スマソ
>>625 Ruby 2.5.0 def f(n) return [] if n == 1 (1..9).flat_map{|i| [10*i] + ([*1..9] - [i]).flat_map{|j| (10**n - 10)/9*i + j} } + f(n - 1).flat_map{|e| e.digits.uniq.map{|i| 10*e + i}} end ruby限定で、 しかもアルゴリズムを競うわけでもない単なるコード例ならrubyスレでやってくれと強く感じる
訂正 def f(n) return [] if n == 1 (1..9).flat_map{|i| ([*0..9] - [i]).flat_map{|j| (10**n - 10)/9*i + j} } + f(n - 1).flat_map{|e| e.digits.uniq.map{|i| 10*e + i}} end
プログラミングは、このスレのためのものだから、 他の言語でも何でも、自由にプログラミングして下さい 言語にこだわらず、やって下さい。 その言語をやってる人が見るはず
言語を指定しないでください 宿題等の依頼は遠慮願います
宿題じゃない。プログラミングのお題 他の言語でも何でも、自由にプログラミングして下さい
宿題、学習「等」が目的であればここではなく然るべきところで
>>641 その宿題とやらが問題として面白いものであれば、それならそれを解くことは個人的にはありうることでしょうね 競争性の放棄とコードも書かないのに他人を煽る。ギルティですね。
俺は書いたけど、無視されるわ、あげく必要ないっていわれましたからね。 70行も読めないなんてたかが知れてる。
>>645 のことは考えてないですよ?611とやらに怒ってます。 やったこと無駄でした。ヒント与えなければよかった。 お題 ビンゴゲームでリーチ数が最大の盤面をすべて列挙せよ
>>648 Ruby ただしπ/2回転させた解は省略 出力はi行目に穴の空いていないマスの列数(0~4)を表示 [*1..4].combination(2).flat_map{|i,j| [*1..4].combination(2).map{|k,l| a = [4, 0, 1, 3, 2] a[i], a[j] = a[j], a[i] a[k], a[l] = a[l], a[k] next if (1..4).any?{|i| a[i] == 4 - i} || a[2] + a[3] > 4 || a[1] + a[4] > 4 a } }.uniq.compact #=> [[4, 0, 1, 3, 2], [4, 2, 0, 3, 1], [4, 1, 3, 0, 2], [4, 1, 0, 2, 3]] >>641 俺も>>642 と同意見かな 出題者は勝手に出すだけ 回答者は勝手に回答するだけ 出題者の意図も回答者の意図もどっちも問わない ただ、頼まれもしないのに延々糞コード書いて晒すやつは脳の障害とは思う 回答者は回答するだけってのはまさにその通り なんかc++の変なコードあげる人いるじゃん 変なコードは別に見ないからいいんだけど、その上 構ってちゃんなのがちょっとあれなのよね
あ、おれが糞コードつってんのもそいつのことねw といかこのスレで糞コードつったらそれしかないけど まともにC++やってきた人間からしたら血圧上がるような糞コードなw
c++ で書いてるヤツなんて俺以外いないよ…と思ったがNGID解除してみるといた ruby のコードは読みやすいからruby使った回答は歓迎なんだけど、 回答もしたいからあんまり限定して欲しくはないな (rubyで回答するほど好きではないから)
ダラダラ長ったらしく書かれたC++コードも、ぱっと見意味の掴みにくいワンライナーコードも、同じくらいクソだと思うんですが・・・
J言語好きとして読みにくいからクソというのには党派的に反対する 読みにくさを愛でる人もいる でもさっきはうっかりしていた ruby 限定とか C++ 禁止とかあってもいいと思います
限定する目的がわからん 特定の言語だと簡単すぎるとか?
658 デフォルトの名無しさん 2018/04/08(日) 23:58:04.55
ID:wX43tNlZ みたいなのをシャットアウトする目的なら限定してもいいだろう
最上位桁の数字は 1~9 の9通り 最上位桁と異なる数字は 0~9中で最上位桁以外 9通り 最上位桁以外の2種類の選び方は N-1個それぞれが2個の数字から1個を選ぶ場合の数-全て最上位桁と同じになる場合の数 = 2^(N-1)-1 よって81*(2^(N-1)-1)通り
>>648 C++で書いた。コードは不明。 8分くらいで解いた。あってるかは知らない。 Count:1 Score:9 11110 11110 11110 11110 00000 >>658 ちゃんとコード書いてても村八分にされるんですね。 ここは怖いインターネッツですね。 >>663 やることやってれば他は何してもいいという訳ではないのは、インターネットもリアルも同じ。 勉強できようが仕事ができようが、人から嫌われる言動をしてれば迷惑がられるのは当然。 まして、本人が得意気にできてると思ってるだけで実際は 大したことなければ尚更だろう。 >>664 ほう。大したことないとおっしゃる?どの口で? まぁいいけど。さすがにムカツクな。 俺意外に上げてる人間ってそんなに多くないぞ? アンタはあげたことあるんだろうね。自治気取りだけど。 ふむそういうことなら。そのように対応する。 なんか最近ビジネス色強いから裏で何やってるんだろうと思ってたけど。 くだらねーな。
5CHで何言ってるか自覚ないみたいだな。 従順な奴隷でも探してろ。ばかやろー。
言語を限定されてもそんなのに構わず好きな言語で回答してしまえばいいよ
野糞落ちてるだけでも不快なのによ 得意げに野糞していく奴の存在とか
>>670 そうそう 昔、一途に prolog で解きまくっている人がいて、すごくかっこいい、っておもっていました C++ は可読性が低くて、ビジネスロジックに無関係な、儀式部分が多いから、 読む方も、自分の時間を使うから、かなりの損。 書いている人は面白いのだろうけど Ruby なら、ほぼビジネスロジックに集中できる。 だから多くのアルゴリズム・パズル本は、Rubyで書かれている Rubyで書いてって頼まれても、言語指定を無視して書けばよいだけ。 他の言語で書いても、必ず見る人はいる
ま、ここはデフォルトでは言語指定なしだから書きたい言語で書けば良い。
2の倍数:下一桁が偶数 3の倍数:各桁の和が3の倍数 4の倍数:下二桁が4の倍数 5の倍数:下一桁が5の倍数 6の倍数:2の倍数かつ3の倍数 8の倍数:下三桁が8の倍数 9の倍数:各桁の和が9の倍数 10の倍数:下一桁が0 11の倍数:各桁を交互に足し引きした値が11の倍数 12の倍数:3の倍数かつ4の倍数
>>676 7 の倍数、11 の倍数、13 の倍数は同一の事実にもとづいて判定できる つまり 7 * 11 * 13 = 1001 簡単なお題 >>605 の漢数字版。 上限は2^32でなくても良い。しかし最低でも億の位までは欲しいところだな。 エサが与えられてるんだからさっさと食らいつけよ畜生共
>>673 もっともらしく言ったところでruby厨が好き勝手に振る舞える理由にはならないよ >>679 ローマ記数法やフランス語記数法とか頭おかしくていいお題かも。 >>682 それも良いねえ。フランス語は知らんのだが、ちょっと調べたら嘘のようにややこしいな。フランス人はこんなのでよく大丈夫だな。 >>685 おお。いいね。 俺も気が向いたら作ってみよう。 >>673 C++のようなシステム用言語をビジネスアプリに使うのがそもそもの間違い。 作者のビャーネ・ストロヴストルップが意図した使い方じゃないしね。 気軽に「こんなソフトありませんか?」Part.175 [無断転載禁止]©2ch.net http://2chb.net/r/software/1469784906/15 15 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/08/02(火) 11:00:10.21 ID:2cA8AwqS0 200個ほどある文書の1行目だけ、一括でアルファベットを小文字に出来るソフトありませんか? 当方スルースキルあるんで、このレスに気づいた方、気長にレス待ってます >>689 Ruby で作って、向こうのスレに書き込んだ お題 立方体の2色の塗り分けの全種類を展開図で示せ
お題に合同条件くらい書かないとどの面も区別するつまんない回答が出て来るぞ
数学の時間いつもケチつけてたのかな? 「互いに素」「同様に確からしい」etc… 「日本語としておかしい!」「俺が数学できないのはそのせい!」
>>691 の問題は俺の解釈では物凄く簡単なのだが、こういうことなのか? 立方体ということは展開すると例えばこうなるよな。 □ □□□□ □ で、これに二種類色付けして、例えば ■ □□□□ □ とか ■ ■□□□ □ とかになる。これの全パターンを出すって問題でいいの? そうすると6面なので6bitを1bitづつ各面に割り当てて出すだけの誰にでもできそうな簡単なお仕事になると思うんだが、そういう問題? あ、もしや組み立ててひっくり返したりしたら同じになるパターンは省くのか?
このスレは質問スレじゃないので出題者の意図は気にせず好きな解釈で回答すればよい
matlabの質問なのですがこの①r=の式はどのように記述したらいいのですか? r = sin(5θ); x = r*cos(θ); y = r*sin(θ); としてプロットしてもエラーになってしまいました >>700 スレチ matlabしらないけどこれでいけんじゃね r = sin(5 * θ) >>702 google先生かその課題を出した先生にでも聞いてみたら? コンピューターじゃないと出来ない課題の方が良いと思うんだ 特に数学っぽいのは
数学的知識をどこまで使って良いか迷うし ガシガシに最適化をしたら結果をテーブルで持つ みたいになったらつまらんし
>>710 考えてみる 最小ではない可能性ありが貼られてるってことは まだ出来た人がいないってことかな? まずnの値によっては最小値が存在しないから問題が破綻してる 結局数値計算するだけの問題だし
nの値によって最小値が存在しないってどういうことだ?
n=1の時に最小値が存在しないことはすぐわかるが 1<nだから関係ない n=2の時は簡単にわかる 特定の3個以上の格子点を通る円は高々1個しか存在せず また、ある点から特定の距離以内の格子点の数は有限なので 存在するなら最小値は存在しそう
>>691-695 立方体の展開図は、384 通り。 同型のものを1つとして数えると、11 通りになる この本に書いてある 超高速グラフ列挙アルゴリズム-〈フカシギの数え方〉が拓く, 組合せ問題への新アプローチ ERATO 湊離散構造処理系プロジェクト・湊真一、2015 計算時間が何百億年も掛かるのが、数秒で解けた 「おねえさんの問題」で有名な、 湊真一の超高速グラフ列挙アルゴリズム ZDD おねえさんの問題作った人?w すげえバズったよなアレwwww
お題 正20面体の3色の塗り分けの全種類を展開図で示せ
>>611 >2種類の数字だけでできている、N桁の数字は、いくつあるか? これを馬鹿正直にnested loop すると、N=4, 5 では、4・5階層と、 Nの数によって、階層が異なってくるから難しい Nが幾つでも、ループの階層が同じになるように、作らなければならない >>611 Ruby で作った DIGITS = [4, 5] # number of digits 桁数 # 答え、567, 1,215 DIGITS.each do |digit| count = 0 wrapper = Array.new digit - 1 # [*0..9] で、配列にする [*0..9].combination(2) do |ary| (digit - 1).times { |i| wrapper[i] = ary } # 先頭が0 のものと、1つの数字だけを使ったものを排除する # *wrapper で、外側の[ ] をはずす count += ary.product(*wrapper) .reject { |item| item[0] == 0 } .reject { |item| item.uniq.length == 1 }.length end puts count end 数学で解くのと、プログラミングで解くのは、異なる。 理論と実践。机上と現実 両方で解いて、確かめたものだけが、現実でも正しい
うん?つまりコンピュータが存在しない時代の数学者はすべて間違えていると?
簡単すぎる性質を使わないのはバカだと思う N=10000の場合は?
>>710 は要するにN=197が無い http://ideone.com/wVBe61 このリストで初めての欠品がN=197だ N=197は計算しきれないような余りにもバカでかい円になるのか、そもそも数学的に存在しないのか、円が存在できないのか、分からない N=197の円が存在できないとすれば、無いものを延々と探し続けることになる ついでに、例えばN=320ともなると、この円が数学的に本当に存在してるのか、 それとも計算の誤差でOKが出てるのか、分からない ということで>>712 が何を言ってるのかがわからんわけですよ 円が存在することと最小値が存在することは全く別だがな 十分に大きいnに対してはその辺微妙だと思うんだけどどう?
最小は存在はするだろ。 計算や探索で出た数値が本当に最小かどうかは(俺には)わからんが。
N個の格子点を通る円は、 x, y方向に1移動してもN個の格子点を通る為 原点を通る円に限定しても一般性を失わない N≧3とする 原点を通りちょうどN個の格子点を通る半径r未満の円は、原点からr未満の距離にある格子点しか通らない 原点からr未満の距離にある格子点は有限個であり、この中からN個の格子点を選ぶ選び方も当然有限個 特定のN個の格子点を通る円は1個しか存在しない為、原点を通りちょうどN個の格子点を通る半径r未満の円も有限個である よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば、最小値は存在する
この円の問題は何度も取り上げられるが 毎回うだうだと話が続くだけで何の進展もないみ アプローチを変えてNを限定するとか 半径を整数にするとかしてみたら
円問題、昔書いたコード探してみたがよくわからないことやってるから困る…
>>738 なにをグダグタ説明してるんだ? > よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば、最小値は存在する なんてどうみても自明だろ >>742 君はこの問題の格子点が「xもyも有理数の点」に問題が変わったとしても 「最小値が存在するのは自明」とか言っちゃう白痴君かな? >>743 バカなの? > よって、ちょうどN個の格子点を通る(半径rの)円が存在すれば (ちょうどN個の格子点を通る)より小さな円がなければ半径rの円が最小 より小さな円が存在するなら同様に更に小さな円が存在するかを調べればいいだけ 有理数とか関係ないだろ w なん有理数の点が出てくるんだよw 全く関係ないだろ
ああ、本当に頭が悪いんだな 今からでも遅くないから解析学の教本くらい読んでおけ
なんで格子点の問題を有理点の問題にしようとするん?
【問】ある数字 n までの数列ローマ数字(I、II、III、…)にしたとき、 最大の長さを持つ文字列を探す関数を書け。 例: n = 5 のとき、{I、II、III、IV、V}、したがって最大は3。 f(5) = 3
「最小値が存在するかわからん」 て言ってるやつへの説明として 「自明である」 馬鹿ですね
コミュ障ですか? 十分かどうかなんて説明する相手次第なんだよ ポイントの>>715 だけでわからないんだから詳細の>>738 が必要だろう >>744 ? 証明の方針として全くセンスを感じません 回答としては0点ですね まあじゃあ試しにその方針で証明してみてください 類似問題としては 円を楕円、五角形などに変える例なんかが考えられますね 数学的センスがない>>744 にわかるかな? センスとか言い出しちゃったよ w まあ数学的な反論ができないことはわかった
全く数学になってない>>744 に反論するのは難しくないか? 説明にも証明にもなってないし 証明の方針としても全く使えない
っていうこと自体理解してない 試しにその方針で証明してみてください
ポイントがわからない ===> 数学的知識の欠如 方針がトンチンカン ===> 数学的センスの欠如 わからない人に「自明」 ===> コミュ障 三重苦 数学的反論の対象が無いものを数学的に反論するのは無理ゲー
結局数学的反論はできないってことな w >>744 のどこがおかしいか具体的に書いてから言えよ 解答候補となる円が有限個に絞れることを説明できていない
数学によるマウンティングをするスレができたと聞いて高みの見物に来ました
>>763 なんで絞る必要があるんだ? 円が無限にあったとしても半径の最小値が存在するかどうかとは関係ない Nが2以上で半径の最小値が存在しない状態ってのがまずわからん。 N=0や1の場合で半径0を円として認めない場合、最小値が存在しないってのはわかるけど。
最小値が存在しないなんて主張をしてるのは>>712 だけ 最小値が存在するという主張の根拠を聞かれてるのだから、素直に存在する証明をすれば良い >>744 は何の証明にも説明にもなってない 「他に小さいのがなければそれが最小値、小さいのが存在するならさらに小さいのを探す」 こんなものは今回の命題とは関係なく、全順序であれば最小値が存在しようがしまいが言えること 最小値が存在するというポイントを1個も押さえていないので 「ああ、数学が出来ない人だ」という感想が出るだけ
>>768 > 全順序であれば最小値が存在しようがしまいが言えること だからそれで十分だろ >>769 > 最小値が存在するというポイントを1個も押さえていないので どこからそんな頓珍漢なことを思い付いたんだ? w >>770 正の実数に最小値が存在する証明 「他に小さいのがなければそれが最小値、小さいのが存在するならさらに小さいのを探す」 結果に関わらず何にでも言えますねえ >>766 それもそうだね、悪かった ところで>>744 のアルゴリズムが有限回で停止することは保証されてるのかな あ、あくまで保証されてるかどうか知りたいだけなんでね N=1, N=2であれば有限回では止まらない N≧3であれば有限回で止まるのは>>738 の通り 誰か>>749 のお題を解いて、このどうでもいい流れを止めて。 >>749 Squeak/Pharo Smalltalk | f | f := [:n | (1 to: n) detectMax: [:m | m printStringRoman size]]. f value: 5 "=> 3 " >>774 無限に繰り返せるとしたら極限値は0になる (単調減少だから) しかし 1 < n で半径0はあり得ない なので必ず有限回で停止する >>782 半径の二乗は有理数 整数倍して扱えばすべて整数として計算できる…んじゃないのん? >>783 できるかも知れん... で、それがなにか? おそらく最小値は存在するんだろうけど 「1/2 + 1/3 + 1/4 + …」が収束すると思ってるようなレベルのアホがそれを主張することによって 最低限の数学的素養のあるやつらから総ツッコミされてるかんじだな
数学で論争になるって珍しくないか? 数学って証明されたらそこで議論の余地がなくなるよな。
>>788 すでに証明されてるのに有理数ガーとか無限の円とか必死になってる奴がいるだけ 議論じゃなくマウントとりたいだけなんだろうな >>749 Squeak Smalltalk で複数ある場合ぜんぶ返す版 | f | f := [:n | | max ans | max := 0. ans :=#(). (1 to: n) do: [:m | | roman | roman := m printStringRoman. roman size = max ifTrue: [ans := ans, {m}]. roman size > max ifTrue: [max := roman size. ans := {m}]. ]. ans size = 1 ifTrue: [ans first] ifFalse: [ans asArray] ]. f value: 5. "=> 3 " f value: 1887. "=> #(888 1388 1788 1838 1878 1883 1887) " >>789 >>744 が証明になってない っていう話だぞ 存在する証明は>>738 参照 これが証明 >>781 単調減少の実数列の極限が1になることも100になることもあるわけだが 当然有限回で終わらないこともある 例えばN=2の時は無限回続くことがある N≧3の場合は>>738 により有限回であることがわかるというだけ 数学の基礎がわからない人が数学の専門家に数学に関する意見を言うとはなかなか >>791 > 単調減少の実数列の極限が1になることも100になることもあるわけだが で、それが最小値がないこととなんの関係があるんだ? マジで阿呆だな 下に有界かつ協議単調減少だからと言って最小値が存在するとは限らないのだよおバカさん
>>792 関係ないことを理由に最小値が存在すると主張している人がいるので は? f:{x:x∈R∧x>0}→R, f(x) = 1/x を考えれば自明だろ 本気の阿呆かよ
>>797 ん? なんで列の話をしてるのにxが実数? >>800 族集合の濃度が高々?な集合に関して証明すれば十分なんだから実数関数について言及したところで何も問題ないよね? むしろ十分正の説明としては申し分ないと思うのだが 十分正 族集合とか濃度とかどうでもいい 列の話をしてるんだから素直に列の例を出せばいい 一般化する必要もない アホに対して一般化しても無意味
ごめんね、十分性ね 「アホに対して一般化しても無意味」ってのは同意だからこちらがスノビズムな嫌いがあったなら謝るよ
可算集合と非可算集合では濃度が違うから証明にならないという主張かも知れん というかここ数学スレだっけ?
>>451 J (#:i.2^10)#"1'9876543210' 長方形を田の字型に4つの長方形に分割したら 左上の面積が253 左下の面積が115 右下の面積が155になった 右上の面積はいくつか?
253=23*11 115=23*5 155=31*5
>>815 なんで整数限定なんだ? 単なる比率の問題だぞ >>821 整数かどうかに関わらず253*155/115で一意的に答え出るんだからただの算数 >>821 253:x=115:155 x=341 整数で十分だけど? 824 デフォルトの名無しさん 2018/04/15(日) 20:16:25.14
算数板でやれ
>>825 だから答えが一意に決まるんだから素因数分解して自明な解を提示したレスに難癖付けるのはバカだっつってんの >>827 たまたま素因数分解できるからいいだけで常に使えるわけじゃない解法示す奴は頭悪いと思われてもしょうがない しかも単なる算数レベルの問題だしな w で、お前らはいつになったらプログラミングをするんだ?
>>828 日本語読める? 「解法を示す」じゃなくて「解を提示した」っつってんだけど 解の一意性は明確なんだから簡単に解を提示すれば それで十分性を満たしていると同時に必要性も満たしてるんだけど 重箱の隅にもならないクソみたいな指摘してんだから突っ込まれて当然でしょ >>830 解と言い張るならなら答えだけ書けよ 言い訳にしてもダサすぎるわ w >>832 初めは「なんで整数限定なんだ?」というアホな主張しておいて論点すり替えないでくれよ 剰えこっちは>>822 で答え書いてるんだけど文字読めないの?なんなのこいつ >>833 因数分解してどやってたアホがいたからな w ひょっとしてアンカーも見れないのか? >>818 そりゃできるだろうねえ だから何? 先に素数を求めた方が処理が速そうだと思ったわけだが 求めないで求めめ欲しければ>>816 に書きなさい >>837 プログラミングらしいお題なら、すでに>>779 にあるよ 回答はRuby(>>809 )とSmalltalk(>>831 )しかないけどね 組織の中で働き者は全体の1割しかいないと言われているけど、 このスレでも見事に再現されていてワロタ 気分転換にどうぞ お題:与えられた迷路図の通路幅を2倍にした迷路図を作成する 入力例 #.#.. .#..# .#... ..##. ###.. 出力例 ##..##.... ##..##.... ..##....## ..##....## ..##...... ..##...... ....####.. ....####.. ######.... ######....
>>841 ruby $<.read.split.map{|s|[s.gsub!(/./,'\&\&'), s]}*$/ お題: あみだくじが与えられる あみだくじは'|','-',' 'の3つで構成されている スタート地点が左からn番目、ゴール地点が左からm番目と与えられた時、横棒を追加することでゴールに向かう為の最小の本数を答えよ なお解が存在しなければ-1と答えよ 横棒の高さを半分ずらして設置や長さ2以上の横棒などは禁止とする 入力例 1 4 | | |-| | |-| | |-| | | | | | |-| |-| | 出力例 1
同じ高さの横棒は隣接しないということでいいのかな?
最小の、とか書くから数学のマウント合戦になるのでは?アミダくじを解け、でいいじゃん。出た解答の中で最小で出してるのがあったらその時点でスゴイスゴイ
ニコリのナンバーリンク、スリザーリンクとか、 あみだくじ・電力網・鉄道経路・選挙区割り・正多面体の展開図とか、この本に載ってる 北大の湊真一の、ZDD。 Python, Ruby でも使える 超高速グラフ列挙アルゴリズム-〈フカシギの数え方〉が拓く, 組合せ問題への新アプローチ ERATO 湊離散構造処理系プロジェクト・湊真一、2015 計算時間が何百億年も掛かるのが、数秒で解けた 「おねえさんの問題」で有名な、 湊真一の超高速グラフ列挙アルゴリズム ZDD
>>846 1人頭が悪いのがいただけ 最小って言葉を使えなかったら問題に制約がつきすぎる もちろん>>844 は(存在すれば)最小値が存在する なるほど、最小って条件は止めるか 条件を変えるわ 解がN通りある時、それぞれの解の本数をa_i(1≦i≦N)とする この時、任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力してくれれば良いよ >>845 隣接しない 隣接したらあみだくじとして成立しないしね >>841 J 2 echo 2&#;._2 stdin'' 多分最小を別の表現にしたつもりなんだろうけど 日本語がめちゃくちゃ 無理しなくて良いよ
「任意のi,j(1≦i,j≦N)に対しa_j-a_i≧0を満たすa_iを出力」 意味がわかりません
>>856 「任意の i, j」というのがおかしい、i を先に決定した上での「任意の j 」でいい >>859 >>861 一般ピープルが習得するとよい(大げさにいえば世界観が変わるような)数学の分野を教えていただければ嬉しいです 群論・環論 ごめん聞いたことあるような言葉を羅列してみただけ
お題 マイナンバーが一部欠けてしまった ?部分を補完して可能性のあるマイナンバーをすべて列挙せよ [example 1] 99999999999? => 999999999996 [example 2] ??9999999999 => 069999999999 179999999999 289999999999 399999999999 509999999999 619999999999 729999999999 839999999999 949999999999
>>869 Ruby 全探索 A = (1..11).map{|i| i + 1 - i / 7 * 6} %w[ 99999999999? ??9999999999 ].each{|s| puts '', s, '=>' 10.**(s.count(??)).times{|i| d = "%012d".%(i).chars m = s.gsub(??){d.pop}.reverse.chars.map(&:to_i) x = A.zip(m[1, 11]).map{|a, b| a * b}.sum % 11 puts m.reverse.join if (x == 1 ? 0 : -x % 11) == m[0] } } #=> 99999999999? => 999999999996 ??9999999999 => 509999999999 619999999999 729999999999 839999999999 949999999999 069999999999 179999999999 289999999999 399999999999 >>858 マジだわ、算数できない奴に噛み付いて自分がダメージ受けた やはり数学で無理に語るべきではないな、専攻の情報の範囲だけにしとこ…… >>869 Squeak/Pharo Smalltalk | check | check := [:digitsStr | | digits checkDigit calcDigit | digits := digitsStr asArray collect: #digitValue. checkDigit := digits last. calcDigit := ((digits * #(6 5 4 3 2 7 6 5 4 3 2 0)) sum \\ 11 in: [:x | x < 2 ifTrue: [0] ifFalse: [11 - x]]). checkDigit = calcDigit ]. #('99999999999?' '??9999999999') collect: [:incmpNum | | indices candNums | indices := incmpNum asArray collectWithIndex: [:chr :idx | chr == $? ifTrue: [idx] ifFalse: [0]]. indices := indices reject: #isZero. candNums := OrderedCollection new. ($0 to: $9) asDigitsToPower: indices size do: [:digs | | candNum | candNum := incmpNum copy. indices with: digs do: [:idx :dig | candNum at: idx put: dig]. (check value: candNum) ifTrue: [candNums add: candNum] ]. incmpNum -> candNums asStringWithCr ] >>865 回転すし問題が気になります>< 教えてください!! >>875 0296 デフォルトの名無しさん 2017/06/26 21:09:32 前にあったやつ。?? 回転寿司にやってきた私は、コンベア上の寿司をすべて食べて帰ることにしている。?? コンベアは毎秒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" > ? お題 0~N-1の数字を1つずつ使ったN進数表記でN桁の数のうち、最も多くの素因数を持つ数を求めよ N=2 →10 N=5 →34210 (10進数で2430=2*3^5*5, 素因数は7個) N=10 →???
全てを探索 しかない気がする N=14くらいが限度か
まーた数学の問題か。 まーたマウント取りたいセンセの荒らしか。 うんざり
アルゴリズムと数学は切り離せないものだし数学が役立つ場面はもちろん多いんだけど、数学だけで完結しちゃう問題では、プログラミングのお題としては面白味がないよね。 むしろこのスレに的には悪問と言ってもよいと個人的には思う。 素直なプログラミングでは複雑になってしまうところを数学を使うことでスマートに解けるとか、逆に数学を使うことで全く別のアプローチの解法があるとかだと、面白いと思う。 必ずしも速い、安い、上手いが正義じゃなくて、そんな解き方もあるのねとか、それどうなってんの?と不思議に思えるような解法とかも見てみたいし、そんな解法が見られるお題が面白いと思う。
追加すると、言語によって異なる記述能力や得手不得手を活かして上手く解いたとか簡潔に書けたとか、逆にわざわざそんな敢えて難しいやり方をするかとか、そういうのも面白いなと思います。
数学で完結してんのかこれ コンピュータ使わない解法思いつかんが
素因数の個数って何だっけ 互いに素な約数の個数なら、N=5の時33220(=2310=2*3*5*7*11)の方が多いし、素因数分解で出てくる素数の個数ならN=5の時31143(=2048=2^11)の方が多いし 私が文を読めていないだけ?
ただ列挙して調べなきゃいけないとすると面白くもなんともない。 いい解を作ろうとすれば、できるかどうかはともかく 数学ひねり回すのだけがメインの仕事になるみたいな。
J ブルートフォース q =: >./&(+/&|:&(0&<)&q:&(#. (i.@! A. i.)))"0 iPhone の J インタプリタでは N=8 までが限界だった q 2 3 4 5 6 7 8 1 2 6 7 13 10 16
素因数の個数だと2^11は2の1個だけなんだけどなあ 例だと11個と数えたいようだけど
>>888 数学ひねり回してどうにかなる気はしない >>891 問題の着目点に応じて相異なる素因数の数になるか重解を許すか解釈すればいいんじゃないの そうしないと高校数学に良くある(このスレにも出てるな) 「n! の素因数2の個数を求めよ」の答えが恒等的に1になってしまう。 知らんけど。 いや重解は変換ミス それに重複を許さない個数でも問題は成立するな、 良く考えると。
>>897 解と根は本来、別の用語だよ 今はごっちゃに使われてるけど >>898 例を出さなかったらそれぞれの解釈が見れて面白かったかも >>899 それで言い訳になってると思ってんの? >>889 Thanks、理解した 全探索しか思いつかなかったorz >>816 J 200$(#~ 2&=@#@q:)2+i.1000 このスレを見ると 世の中のソフトが重くなる理由がよく分かる
>>903 それ1000までの間に半素数が200個存在するってあらかじめ分かってなきゃ使えなくない あらかじめ調べておけばいい どうせなら半素数自体もしらべてテーブルにしておけば
コンパイラが究極に進化するとそうなる 今でも純関数&定数指定にすれば
究極に進化して、ある数を素因数分解しろとか離散対数求めろと言われたら、 何桁でもテーブルにあって即答ってか? 暗号死ぬわ。
トップバストとアンダーバストがmm単位で与えられるので JIS L 4006におけるカップ体型区分を出力せよ なお、与えられた体系が当該規格の数値と一致しない場合は 最も差の少ない体型区分を選べ -*- input -*- 880 815 999 799 755 480 -*- output -*- AA E H
ミス >>915 Ruby #!ruby -na puts ['AA',*?A..?I][(eval($F*?-)/25.0-3).round.clamp(0,9)] このスレは、素数表を使う問題が多い 一方、プログラミング・コンテストでは、自作ライブラリも持ち込めるから、 素数表・ZDD を持ち込んで、解けるような問題は少ない 数学的な解法がなくて、全探索して見つけるものが多い
じゃあここで出てる問題をまず最初にNP完全かどうかを判定すればいい 競技プログラミングに適している問題かどうかを証明してから、改めてプログラミングにあたる
プログラミング・コンテストの良問は、 持ち込みの自作ライブラリでは解けないもので、 素直に全探索すると、計算回数が1億回以上になって、2秒以内に解けないもの ここで、パズル的に考えて、数学的な法則を使うことで、 枝切り・ショートカットして、計算回数が1千万回以下になるもの
>>915 J f=:{&(25#'AA'';;/'ABCDEFGHI')@<.@-&62.5&(-/) >>925 分かりにくいのは毎度の事だが今回はあんまり短くもならないんだな。 JアプリみつけたのでJで遊んでる初学者だけど 参考にするコード見つけにくい(少ない検索し難い読みにくい)から >>925 の人の存在は有り難い 見所はインデックスを25で割らずテーブルを25倍にしてるとこか 配列を、って言ってるのに%wでスペース区切りの文字列から作るの? てかrubyの%wって何のためにあるの? splitあるのに組み込みので提供するほどのもの? 他言語者からしたらsplitは分かってもらえると思うが%wは分からんと思うぞ? やっぱ書くだけの書き捨て言語なんかな。
>>928 common lisp (let ((a '("java" "ruby" "rust"))) (format t "~{~A~^, ~}~%" a) (princ (reduce (lambda ($0 $1) (concatenate 'string $0 ", " $1)) a)) ) ; java, ruby, rust ; java, ruby, rust >>929 >てかrubyの%wって何のためにあるの? まさに今回のような場合に配列リテラルを作るためのものだろ 各要素が所与なのになんでわざわざ繋いだ文字列リテラル書いてsplitしようとするの? >>928 ruby puts a[0...-1].inject(''){|r,s| r << s << ',' } + a.last puts a.inject(''){|r,s| r << s << ',' }.chop puts a.map{|s| [s, ','] }.join.chop b = a.join a[0...-1].inject(0){|r,s| r += s.length + 1; b = b.insert(r-1, ','); r } puts b >>929 Perl だと @week = qw(Sun Mon Tue Wed Thu Fri Sat) >>931 今回のような?? 今回の問題文、「文字列の配列をカンマ区切りで表示せよ」ってなってんだが… スペース区切りの文字列から始めてどうする。 それじゃ%wで配列にするまでもなく正規表現でスペースをカンマに置換すればいいじゃん。 >>928 javascript var langs = ['javascript', 'python', 'go'] console.log(langs.join()) //ES5 console.log(langs.reduce((acc, elm) => `${acc},${elm}`)) //ES2015 langs |> ary => ary.join() |> console.log //ESNext console.log((langs + ',').slice(0, -1)) //ES5 一番かんたんなの忘れてた console.log(langs.toString()) console.log(langs + '') console.log(`${langs}`)
console.log(String(langs)) langs |> String |> console.log //ESNext
>>928 Squeak Smalltalk | arr | arr := #(java rust ruby). arr asCommaString. "=> 'java, rust, ruby' " arr asCommaStringAnd. "=> 'java, rust and ruby' " String streamContents: [:ss | arr do: [:each | ss << each] separatedBy: [ss << ', '] ]. "=> 'java, rust, ruby' " >>928 join一発でできるようなことをわざわざ問題にするなよ... 誰かにコードを教えてもらう為に「お題」と言ってるだけじゃね?
数学センセが嫉妬かみっともない 開口の広いお題が繁盛すんのは当たり前
蛇足で無粋でしょうけど寸評をもってお礼に代えさせて下さい 寸評: >>930 素早くreduce拾って下さったのと、コードのリズム感が目に優しくてすこ formatたる謎の戦法も興味深い >>932 chop戦略を出して下さって感謝。bを使ったほうはフフッときた >>935 Kotlinのコードいつも楽しく拝見してます 「先頭別で、二個目からカンマくっつけ戦法」出してくれて感謝 >>936 joinでカンマついちゃうのが他言語から見たら興味深い >>939 いつも楽しく拝見してます、相変わらずギョッとさせられる じつは当初、andつきのほうをお題にしようかとも迷いましたが 不要な複雑さを持ち込んでしまうと危惧して止めたんですがさすがのSmalltalk 総評: joinでの解決一個だけで回答されるのが一番つまらないので それを暗に防ぐために複数の方法っていう指定をした 二番目三番目の方法となると、見てて楽しい、言語ごとの工夫が見えてくる おまえらありがとう そういや昨日本屋に行ったら「C言語による標準アルゴリズム事典」が売られてて、うわー懐かしいまだ売ってたのかこれ と思ってよく見たら今年出たばかりの第2版だった。 [改訂新版]C言語による標準アルゴリズム事典 Software Technology http://amzn.asia/bjcCLfp この本はある意味お題になりそうな問題の宝庫ではないかと思う。 >>949 おう! pascal 版を見たことがある、と思ってたんですが、気のせいだったのかな? >>939 その文字列化メソッドの充実っぷりはすごい [[['[] ]]] { {] ]][ '[][][] [][] [][][] [] '[] []
お題 再帰関数を使ってC++で次の問題の会を出すプログラム書いたんですけど、なんかミスばっかでダメなので、だれかどういうプログラム書けばいいのか教えてもらえませんか? 九つの椅子が正方形に並んでおり、はじめに数字の書いた札を持った何人かが座っているとする 例 ○○5 ○9○ 12○ さらに他にも何人か数字の書いた札を持った人がいて、その人たちが空いてる席に順番に座って行くとする 全員座った後、それぞれの点数を数えるとする、ただし点数は前後左右の人が持ってる札の数字を足し算する 例 ○○5 ○9○ 12○ で 3さん→4さん→7さん とすわり ○75 493 12○ となった、9の点数は7+4+3+2 この時、それぞれが自分の点数を最大になるように座ったら最終的にはどういう配置になるでしょう?ただし ・それぞれは座る順番を知っている ・その次に座る人達がどこに座るかまで考慮に入れて考える ・自分以外の点数は気にしない ・誰もいないところは0 ・次の人が何箇所か座る候補があり絞れない時は常に予想図の最小値をとって考えるとする、つまり極端にリスクを恐れる
自分より後の人のならび順、番号、人数はわかっている? 全員が天才で、その事を自分は知っている?
>>957 このスレでそんな発言に意味があるのかな? お題として面白ければ回答がつくだろうし糞だったら回答はつかないし、少なくともそれが宿題かどうかは関係ない みんなが宿題を「お題」としてあげはじめたら 糞「お題」率が上がる 糞「お題」ばかりだとおれはこのスレを見なくなるだろう
>>959 宿題を書く奴は問題の解き方を理解できていないので、 ここに書かれる問いは「不完全な」問題になる。 お題として不適切なんだから、スレ違い >>960 宿題問題がすべて糞お題とは限らないだろう? 問題が宿題かどうかは問題ではなくて、問題が糞お題じゃなくて良問かどうかだろう? >>961 確かに宿題お題を出そうとする人間は、その問題が良問かどうかの判断すらできないから、必然的に「不完全な」出題になる傾向にある、というのはいえるかもしれないね >>962 率の話 女は会社を辞める率が高いとか 黒人は犯罪率が高いとか >>964 実は、出題者は(それが一部にせよ)教育的意図を抱いて問題を作成しているのだから、宿題問題には良問題が少ないとはいいきれない、と考えている 宿題問題でもそれが良問であれば、このスレで取り上げられてもいい、と思っている、まあ、ここんところは私見だが で、ついた回答の多寡でこのスレの意志がある程度あらわされるんじゃないか、あからさまな宿題問題だったらこのスレでは回答はつかないからね だから >>957 のようなことを書く人の考えていることがわからない、というか、>>957 は何も考えずに言葉のオートマタ(自動機械)的にレスを書いているんだね そりゃなにも考えていないんだから、「考えていることがわからない」のも道理だと思いました >>966 出題スレで「教えて下さい」「これ解いて下さい」等という感じの 「本人が問題の肝を理解していない」 ものに関しては須く「宿題は自分でやれ」と回答するのが出題スレだと思うが。 宿題なのか自作アプリで詰まってるのか知らんけど 出題スレで質問が許容されると他の人も懸念してる通り。 問題が不完全だと思ったら好きに解釈して条件を決めて答えるのがこのスレ 宿題スレじゃないので出題者の意図・期待はどうでもいいからうっちゃって 面白そうだと思えば回答するのみ
>>969 「 >出題スレで質問が許容される と糞お題が増える」 という懸念は、 このスレの性質上必然的に淘汰されるので、一時的に勃興したとしても、自然になくなるのでは? 必要のない縛りはない方がいい >>971 >>968 は感心するほど注意深いね… 「必要のない縛り」とは思ってない 「お題」スレであり質問スレではない スレチを許容してたらスレの質が下がるのは明らか
スレチが許されるなら数学の話も許されるはずだね ましてや出題に関連した数学ならスレチとも言えないはずだが
このスレで宿題が許容されたら宿題スレの存在意義が無くなるんでないか? 実質、スレタイの違う宿題スレが二つあるようなものなのでは?
宿題にも良問があるかもと思う奴が自分で宿題スレを覗いて良問を待ってればいいだけの話で、このスレでは宿題は一切禁止でいいと思う。
漏れは、数学的な問題や、宿題は解かない プログラムの問題しか解かない
>>956 すべての空席に、自分が座ったとしてループする 自分の前後左右が埋まるまで、ループする。 ただし、最終の人まで 次の人から、最後の人まで、ループする。 全通りを調べて、各人の次の人が、何箇所か座る候補があるときは、 最小値を、各人が選んだ、座席の値として使う >>928 Perl $ cat 10_928.pl @s = ('java','ruby','rust'); $" = ','; print "@s\n"; $ perl 10_928.pl java,ruby,rust 簡単すぎる気が… なんかオレ、出題意図を誤解してる? あってんじゃねーの joinを使うとおもしくないとか言ってるヴァカだし 無視していいんじゃね 出題意図を誤解できないように厳密に明文化する能力がないアフォだろ それかわざと誤解するような引っかけ問題作ってるキティガイだ
まぁまぁ。 複数の方法と書いてあるし、 配列としてindexアクセスしてprintsするとか、 他の意図があるかと最初オモタ
>>948 を見てみろ、 評論家気取りで >joinでの解決一個だけで回答されるのが一番つまらない とか言ってるぞ だから>>980 、お前はこのヴァカのなかでは最高級につまんねー人間だよ どれだけヴァカがヴァカなことをするかほくそえんでるクソ野郎の出題だよ 出題意図は「joinだけで書いたヴァカをヴァカにすること」、それ以外は読み取れない 相当な悪意があると気付かねーの? >>982 まぁまぁ、その経緯は知らなかったけど、そんなに腹立てないで。 本気になるべきもっと大事なことは他にある。 本音を言うと >>980 よりもっと短いゴルフっぽいコード書いて遊ぼうかと一瞬考たけど、 小学校の演習にもないような文字列リストのカンマ区切り印字 そこまで考える値打ちのかったのでやめといた。 実は、>>980 を書いた意図は、 >>928 は 別に頭を使ってプログラムロジックを書かなくても、 printがリストを印字する区切り文字設定の変更で出来ることであり、 プログラミングのお題としての意義がそもそも乏しい みたな そんなつもりだったし テヘペロ joinだけだとつまらんなら出題時に禁止しとけばいいだけだし、確かに性格悪いな
「○○禁止」は多言語で回答を出し合う場では忌み嫌われるから逆に避けたのでは? 「各要素列挙の間隙に何か処理を挟む」とか「最初(あるいは最後)の要素だけ例外扱いで列挙」とかにして なおかつ、joinでは対処できないお題にすべきだった
>>928 Ruby puts a.to_s.tr(' "[]','') puts a*',' お題:与えられた文字列を逆順にして出力する関数を定義しなさい。ただし、関数の呼び出しに十回に一回は失敗し、失敗した場合は文字列をランダムにシャッフルするようにしなさい。
>>989 訂正 十回に一回は失敗し × 十回呼び出したら必ず一回だけ失敗し ○ >>989 Ruby #!ruby -nl puts $.%10>0?$_.reverse: $_.chars.shuffle*'' httpsでアクセスできるサイトはhttpからhttpsに変えちゃったけどええよな?
>>928 は素直に「各言語の特異な機能、面白機能を使って書け」で良かったような Smalltalk のは雑学的な意味でちょっと面白かった
mmp
lud20200625144805ca
このスレへの固定リンク: http://5chb.net/r/tech/1514772904/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。 TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「プログラミングのお題スレ Part10 YouTube動画>2本 ->画像>7枚 」 を見た人も見ています:・プログラミングのお題スレ Part13 ・プログラミングのお題スレ Part15 ・プログラミングのお題スレ Part14 ・プログラミングのお題スレ Part8 ・プログラミングのお題スレ Part7 ・プログラミングのお題スレ Part18 ・プログラミングのお題スレ Part20 ・プログラミングのお題スレ Part21 ・プログラミングのお題スレ Part22 ・プログラミングのお題スレ Part9 [無断転載禁止] ・関数型プログラミング言語Haskell Part30 ・WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22 ・WPF(.NET4.x, .NET Core) GUIプログラミング Part23 ・UNIXプログラミング質問すれ Part10 ・プログラミング言語Swift Part4 ・最も美しいプログラミング言語は? Part6 ・関数型プログラミング言語Haskell Part32 ・関数型プログラミング言語Haskell Part33 ・関数型プログラミング言語Haskell Part26 ・WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part19 ・WPF(.NET, WinUI) GUIプログラミング Part27 ・関数型プログラミング言語Haskell Part31©2ch.net ・WPF(.NET, WinUI) GUIプログラミング Part33 ・WPF(.NET, WinUI) GUIプログラミング Part29 ・WPF(.NET, WinUI) GUIプログラミング Part28 ・【Switch】ナビつき! つくってわかる はじめてゲームプログラミング Part4 ・大学生のプログラミング雑談スレ ・ヒッキーのまったりプログラミングするスレ 2 ・競技プログラミングにハマるプログラマのスレ 20 ・Androidプログラミング質問スレ revision54 ・Androidプログラミング質問スレ revision55 ・競技プログラミングにハマるプログラマのスレ 14 ・競技プログラミングにハマるプログラマのスレ 22 ・競技プログラミングにハマるプログラマのスレ 19 ・Androidプログラミング質問スレ revision53 ・競技プログラミングにハマるプログラマのスレ 12 ・競技プログラミングにハマるプログラマのスレ 17 ・競技プログラミングにハマるプログラマのスレ 13 ・関数型プログラミング言語Haskell Part34 (667) ・◆気軽にアナログプレイヤーの話題スレ part.29◆->動画>7本 ・競技プログラミング総合スレ 66 ・競技プログラミング総合スレ 64 ・競技プログラミング総合スレ 65 ・Androidプログラミング質問スレ revision51 ・ヒッキーのまったりプログラミングするスレ ・プログラミング学習サイトについて語るスレ ・競技プログラミングにハマるプログラマのスレ 36 ・競技プログラミングにハマるプログラマのスレ 63 ・競技プログラミングにハマるプログラマのスレ 25 ・Androidプログラミング質問スレ revision53 ・競技プログラミングにハマるプログラマのスレ 5 ・競技プログラミングにハマるプログラマのスレ 33 ・競技プログラミングにハマるプログラマのスレ 77 ・競技プログラミングにハマるプログラマのスレ 56 ・競技プログラミングにハマるプログラマのスレ 52 ・競技プログラミングにハマるプログラマのスレ 2 [無断転載禁止] ・プログラミング経験者の僕がプログラミング初心者の疑問に答えるスレ ・ヒッキーのプログラミングするスレ 9 (旧 プログラミング雑談 in HIKIKO) [無断転載禁止] ・動画プログラミング ・プログラミング言語
04:04:35 up 62 days, 5:03, 0 users, load average: 10.24, 38.79, 34.18
in 0.026946067810059 sec
@0.026946067810059@0b7 on 061817