プログラミングのお題スレ Part10
■ このスレッドは過去ログ倉庫に格納されています
>>702 google先生かその課題を出した先生にでも聞いてみたら? コンピューターじゃないと出来ない課題の方が良いと思うんだ 特に数学っぽいのは 数学的知識をどこまで使って良いか迷うし ガシガシに最適化をしたら結果をテーブルで持つ みたいになったらつまらんし >>708 こんなんとか? プログラミングのお題スレ Part7 https://peace.5ch.net/test/read.cgi/tech/1429195275/41 > 41 :デフォルトの名無しさん:2015/05/01(金) 14:31:24.98 ID:9G1+bMO9 > お題:ちょうどn個(1 < n)の格子点(x座標もy座標も整数の点)を通る円の半径の > 最小値を求める。円の中心点は格子点でなくてよい。 > 例 > n=2 -> 0.5 > n=5 -> 16.170331 > n=6 -> 2.5 ※ n=5 は 5.89256 が正しい サンプルデータ(最小ではない可能性あり) https://ideone.com/wVBe61 >>710 考えてみる 最小ではない可能性ありが貼られてるってことは まだ出来た人がいないってことかな? まずnの値によっては最小値が存在しないから問題が破綻してる 結局数値計算するだけの問題だし nの値によって最小値が存在しないってどういうことだ? n=1の時に最小値が存在しないことはすぐわかるが 1<nだから関係ない n=2の時は簡単にわかる 特定の3個以上の格子点を通る円は高々1個しか存在せず また、ある点から特定の距離以内の格子点の数は有限なので 存在するなら最小値は存在しそう >>691 Kotlin とりあえず >>697 の通りのビットを面に対応させて全部出すだけのプログラム。 https://paiza.io/projects/MN90ETk9Kk3odk-Jlk2DEQ 回すと同一になるパターンを省くのはこれから考える。 >>691 C https://ideone.com/i4fH8G なんかダメダメなコードになった しかも8通りで合ってるのか分からん >>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が無い ttps://ideone.com/wVBe61 このリストで初めての欠品がN=197だ N=197は計算しきれないような余りにもバカでかい円になるのか、そもそも数学的に存在しないのか、円が存在できないのか、分からない N=197の円が存在できないとすれば、無いものを延々と探し続けることになる ついでに、例えばN=320ともなると、この円が数学的に本当に存在してるのか、 それとも計算の誤差でOKが出てるのか、分からない 数学的にはどんなNの円でも存在する http://mathworld.wolfram.com/SchinzelCircle.html ただしこの計算で出てくる円は(一部のNを除き)最小ではない 円周上の格子点は整数で計算出来るから誤差はないし検算も難しいものではない ということで>>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 「最小値が存在するかわからん」 て言ってるやつへの説明として 「自明である」 馬鹿ですね >>750 なにを言いたいんだ? 証明なら>>744 で充分だろ コミュ障ですか? 十分かどうかなんて説明する相手次第なんだよ ポイントの>>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 " お題 五目並べ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14188952404 C言語以外でも可能というか歓迎。 特にrubyなどで、ワンライナー的に(Javaでいうところのストリームを駆使)書くとエロいものとする >>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 族集合の濃度が高々?な集合に関して証明すれば十分なんだから実数関数について言及したところで何も問題ないよね? むしろ十分正の説明としては申し分ないと思うのだが ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる