数学者が技術者にプログラムを書いてもらうスレ [転載禁止]©2ch.net
数学者は数学はできてもプログラミングができないことが多いし
自学できても既に記述可能な技術者にやってもらったほうが便利
なことが多い。
そこで、数学者が必要とする結果を算出するプログラムを書いて
もらうスレを立てることとする。 BASICで完全解おねがいします
1/2^(a1)+1/(a2)^2+・・・+1/2^(an)=1
をみたす非負整数a1〜an(ただしa1≦a2≦・・・≦an)を求める
プログラムをBASICで作りたい。nを適当に指定できるようにして
すべての解を出力するプログラムを書け。 × 1/2^(a1)+1/(a2)^2+・・・+1/2^(an)=1
○ 1/2^(a1)+1/2^(a2)+・・・+1/2^(an)=1 この問題は、条件に当てはまる解を求めるという探索問題に帰する。
探索問題は、古典的な人工知能の分野でよく研究されている。
解を探索する一番単純な方法は、場合分けを網羅することである。
探索には時間が掛かるので、計算方法を工夫し、場合分けをなるべく少なく(分岐の枝刈り)することが重要。 この問題は、二進数に関係がある。なぜなら
1/2^aは一般に二進数で
0.0……01
のように表されるからだ。 n=0のときは解はない。
n=1のときはa1=0が唯一解である。
a1〜anは、非負整数であると書かれているが、n>1の場合、明らかにいずれもゼロではない。 以下、n>1と仮定。a1〜anはいずれも正の整数。
aが正の整数のとき、1/2^aは、小数点以下のみで実質一桁の二進数である。
小数点以下のみで実質一桁の二進数という集合Sは、
S={1/2^a | a∈Zかつa>0}
と表される。 【定理1】x∈Sなるxは、x=y+zを満たすy,z∈Sによって分割できる。
数学者だろ、証明してみろよ! 数学者ならアルゴリズムが思いつかないわけがない。
少しのプログラミングの約束事の学習でいくらでも自分でできるはず。
よってこのスレは終了。 意味不明
物理学者が出した微分方程式を数学者が解くように
数学者が出した不定方程式をプログラマが解くのが
普通の世界 >>12
数学者 → 学者
物理学者 → 学者
プログラマー → 土方
OK? x∈Sは、x=x/2+x/2のように二等分割できる。もちろんx∈Sならばx/2∈Sである。
Sから重複を許してn個の元を取り出して作ったリストの集合をTとする。
ここでリストというのは、数学では順序対のことである。
Tはこの問題の解空間を包んでいる。 ただの不定方程式を解くプログラムをBASICで作ればいいだけなんだが 探索を高速化するためには、探索対象である、解空間を包む集合を充分に制限したものを求める必要がある。
任意の解R_nはSの元による長さnのリストであった。
【定理2】任意の解R_nは、1に何回かの二等分割を施すことによって得られる。
さあ、証明しろよ、自称数学者よ! 1に(n-1)回の二等分割を施すとn個の整数が得られる。これを小さい順に並べ替えると、解R=(a1,a2,...,an)となる。
二等分割のパラメーターは、分割対象のx∈Sのみである。 >ただの不定方程式を解くプログラム
プログラマでもほとんどやったことない分野だべ 現代数学かと思ったら、10世紀以上前のばかりでワロタ。 意味不明
先生が出した課題を学生が解くのが
学校の世界 意味不明
先生が出した課題を学生が解くように
俺様が出した問題をおまえらが解くのが
2chの世界
笑 素直に回答しないだらしのないクズの集まりだな2chは 有意義な問題と有意義な技能が結合して
有意義な結果が得られた。これもまた我々
科学者の日々の努力のたまものではないか 主題の丸投げと馬鹿荒らしの技能が結合して
無残な結果が得られた。これもまた我々
マ板住人の日々の努力のたまものではないかw 計算の結果は必ずしも人間に計算可能ではなく
コード書いたやつも解の不定性さに驚いただろう どれでもいいがなるべく古い奴で
行番号を書かなくてもいいソフトがいい
コピペするだけで即実行できるソフト
名前は忘れた 行番号なし注釈可能。面倒な空白も無視して
上から下に単純に実行できるソフトがあったんだが名前忘れた
希望を言えば、解の個数の表示
nと解の個数の関数的な関係
が分かるようにしてくれるとありがたい
あとC++のページはみたが結果が書いてるだけで
これをどうやって自分のパソコンで走らせられるのかが分からない 「体液取引所」は、体液を取引できるサービスです。
ttp://katahiromz.esy.es/taieki/ いやそんなんじゃなくそこらへんに落ちてる
フリーのBASICソフト
遺憾ながら名前を忘れた 前述のideoneのページは、forkしてstdinを書き換えてrunすれば、他のnでも試せるよ。 そこらへんに落ちてるなら、すぐわかりそうなものだが この問題は数学的にも高度である
前述の解のうち、さらに
1/3^(a1)+2/3^(a2)+・・・+n/3^(an)=1
をみたす非負整数a1〜an(ただしa1≦a2≦・・・≦an)
すべての解を出力するプログラムを書け。
この問題は、n≧16では解がないことが証明されている。解がない
ことを確かめたうえで証明してみよ。なおこれは国際数学オリンピックの
最難問である第6問の問題である。証明できた参加者は10人もいなかった >>1
質問者
基底の籐質
ttps://www.youtube.com/channel/UCmwmIpewmgvoqT2QOJOfasg
回答者
基底の荒らし
ttp://katahiromz.web.fc2.com/
類友w このC++実行サービスは便利だが
n=16でタイムオーバーになった
使えないな ちなみに世界の主流はJavaなのでC++よりJava
を書けるようにするといいな さっきのサイトはn=16で
もう計算できない
できるところはないのか >>42
C++11コンパイラーをインストールして、自分でコンパイルすればいい Windows限定ならVisual C++とMinGW g++。Visual C++は利用者登録が必要。
LinuxやMacならclang++。 Visualをインストしたが
どうやってコンパイルすればいいかわからん フリーなら断然Borlandだっよー最高だよー
自分でobject作ってresourceやらlibraryやらlinkerで繋いで
夜な夜なVCほっぴぃぃぃ!って叫ぶんだよー >>46
「ファイル」メニューからプロジェクトを新規作成。空のコンソールアプリのプロジェクト作成。
プロジェクトを右クリックして、「追加」。ソースコードを貼り付けて、保存。
プロジェクトを右クリックして「ビルド」。ビルド成功なら「デバッグ実行」。 コンソールアプリは2種類あるが空の、というのはない
どれにすればいいんだ 昔やったが今は数学やってるから
忘れてるだけだろ
本当に察しの悪いクズだな それ開いて最初に出てくるテキストに貼り付けデバッグしても
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
と出て実行できない : fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。
'#include "StdAfx.h"' をソースに追加しましたか? C++11に対応していない古いコンパイラーはダメだよ >>58
それは「空の」プロジェクトじゃないよ。やり直し。 面倒だ
十進BASIC777というソフトで実行できるように書いてくれ これは行番号なしでいいしnを適当にコマンドラインに入れて実行できる
PRINT 6*3
END
だけで、18を計算してくれる。これでよろ
コマンドラインでnの指定、
結果表示は組み合わせの表示(なるべく和が小さいものから整然と)
解の個数で 前述の解のうち、さらに
1/3^(a1)+2/3^(a2)+・・・+n/3^(an)=1
をみたす非負整数a1〜an(ただしa1≦a2≦・・・≦an)
すべての解を出力するプログラムを書け。 1/3^(a1) + 2/3^(a2) + … + n/3^(an) = 1
の両辺を3^(an)で掛けると
1・3^(an - a1) + 2・3^(an - a2) + … + (n - 1)・3^(a{n-1} - an) + n・3^(an - an)=3^(an)
つまり、
1・3^(an - a1) + 2・3^(an - a2) + … + (n-1)・3^(a{n-1} - an) + n = 3^(an)
となる。 n=0のとき解はない。
n=1のときa1=0が唯一解となる。
以下、n>1を仮定する。
1≦k≦nを満たす整数kに対して
a_k=0のときk/3^(a_k)=k≧1となる。これは与えられた条件式を満たさない。よってa_k>0である。 待て待て、今、アクセス不能。明日ネットカフェ行くから。
左辺の第k項を一項のみ上から評価して、k/3^(a_k)<1より
k<3^(a_k)である。これにlog_3を施せばlog_3(k)<a_k、すなわち
a_k>log_3(k)が得られる。 解空間をちゃんと評価しないと、無駄な計算が入って遅くなる。
BASICはC++よりずっと遅い。 BASICはそんなに遅いですか。
JavascriptはCの二倍速いとどこかに書いてありましたよ。
Javascriptが良いんじゃないですかね。 Javaは世界中の家電を動かしてるから教養学部でも学ばされるんだよ
俺も昔はJavaでアプリを作ったもんだ。今は忘れたがな 十進BASICを入手した。
疲れたので少し休憩3時間、執行猶予10分間。 ちょっと調べてみたが、十進BASICは、ポータビリティがない、N88-BASICと互換性がない、計算が遅い。
したがって、とても仕事には使えないと判断した。遊びには付き合い切れない。 BASICは、教育用にまだ需要があるようだな。1つ作ってみるか BASICはセンター試験にも出題があり
純粋数学に向いている
多くの数学者はC++やJavaは高度すぎて扱えないから普通は
技術者に頼むだろう 電脳組からN88-BASIC互換ソフトが35000円で出てるようだな。 何でC++はすぐかけるのにBASICごとき早くかけないのか
おそい 問題
|x1|=999,|Xn|=|Xn-1 + 1|で定まっているx1からx2008までの数列
がある。この数列の和のとりうる値を小さい方から大きい方
に並べたものを二次元座標にプロットしたうえ、その最大値と最小値と
平均値を算出するプログラムをBASICで書け。 >>81
まず問題があやふや
単なる「数列の和」なら値は1つなんじゃないの >>84
壮絶なバカだな
初項が±999の2通りがあるんだから
2項は4通りの可能性があり
3項は6通りの可能性がある
ゆえに和は色々な可能性がある 問題の印象や感想から和が1つしかないと勘違いするバカw これはあれか
院生を奴隷扱いしていずれ刺されるブラック教授か ρ(∂u/∂t+ u∂u/∂x+ v∂u/∂y) = ?∂p/∂x + μ∇2u^2
のxをt=0から順に計算していくにはどうすればいいの?
ttp://fluid.nuae.nagoya-u.ac.jp/archives/textbook/past/nensei/Nensei2001Chapt2Print.pdf プログラマが数学の問題を理解するより、数学者がプログラムを覚えるほうがはやいと思う。 で、片山博文MZ ◆T6xkBnTXz7B0 はなにやってんの 片山博文MZ ◆T6xkBnTXz7B0 はなにやってんの >>97
うぜーな、ここで聞け
ttp://katahiromz.web.fc2.com/ 片山博文MZ ◆T6xkBnTXz7B0 はなにやってんの 片山博文MZ ◆T6xkBnTXz7B0 はなにやってんの 良く分からない数式をCに直してもらったら
なにこれ簡単!
ってなったことはよくある 片山博文MZ ◆T6xkBnTXz7B0 はなにやってんの 社名 労基
でググると過去の2chスレが出てくる会社
and(orではない)
転職会議で2.5点の会社は超絶要注意
and
IT系です
転職する際は注意 ☆ 日本の核武装は早急に必須ですわ。☆
総務省の『憲法改正国民投票法』、でググってみてください。
日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である
改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。 一応プログラマなんだが質問させてもらいます
任意の式を入力して微積分をするためにはどのように実現すれば良いのでしょうか >微積分をする
ご自分のお脳でやられるのが早いのでは n,x,y,zを自然数とするとき、4/n=1/x+1/y+1/zを満たす(x,y,z)の組み合わせ
を算出するプログラムをBASICで書いてくれ あー、なんとかの予想とかいう未解決問題だね
むりむり 4xyz = n(yz+xz+xy)
n = 4xyz / (yz+xz+xy)
これを右辺でソートして、2分探索でnを探すと、
n,x,y,zの4重ループの計算量O(n^4)を、O(n^3 log n)にできる
変数を2:2に分けられれば、O(n^2 log n)にできるのだが プログラムは簡単に書けるよね、計算量気にしなければ むしろ逆が欲しい
プログラムを数学に直してくれるスレ >>115
簡単か?
超巨大な整数はどうする?
全て見つかったかどうかの判定は? >>118
メモリが無限にある世界の人ですかw
多倍長整数だって解決になるわけないだろ
n,x,y,zの範囲を規定しなければ >>118
簡単だっていうなら書いてみて
BASICで 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
1¥ http://integers.hatenablog.com/entry/2016/09/08/010024
この定理をみたすkを算出するプログラムをお願いします
条件は、式を見ればわかるとおり、()^2内が全部0になるようなa〜z
を探索し、そのときのk+2が素数だという定理です >>125
そこのサイトにエクセルの実装例あるだろ ジェネリックのWhere T:って制約がよくわからないです
where T: struct
struct型しか受け付けない?って書いてたけど
特定しか受け付けないならジェネリックの意味がないのでは? 一つしか受け付けないなら意味ないけど、派生するクラスをうけつけてくれる。 数学者は数値計算よりも数式いじくり回す方が好きな気がする(偏見
だからシンボリックな処理が求められる気が 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
ZF7FS フェルマーの定理は絶対まちがいだとおもう
長すぎてややこしすぎる
あれだけの計算を限られた人間がやって目視デバッグだけして
間違いがないはずがない
おそらく素数に関する定理のいくつかは
公理系の矛盾と一緒で
正しかったら証明できないたぐいのものだとおもう
だれか検証プログラム作って精査して すみません。
画像からフラクタル次元を求める、C/C++のプログラムが欲しいです。 何でmathematica とか、sympy とか使わないの? インフレ目標(インフレ目標率を高くすれば法律への依存度低下)=貧困率×生存権保証度(律法家)=犯罪率=いじめ発生率=同性愛者数=律法により増加した同性愛者は自殺戦争地震コロナ発生率により自然浄化=リストラクチャリング
→貧困の原因は男根羨望同性愛軍国主義
→インフレ目標率が低過ぎると生存権維持費用が維持できなくなれば失業率が増大し自殺コロナ地震が発生自然浄化。インフレ目標率が高すぎると物価が高くなり貨幣価値が下落し賃金の下方硬直性により生存権費用は増大。(フィリップス曲線と賃金の下方硬直性)
インフレ目標設定には政治的利害の調整機能がある。→政治の利害対立は無意味。日銀のインフレ目標設定により政治の利害対立を無視して社会を維持できる。→PCでプログラムを組み(C言語で良い)データを入力して計算すればインフレ目標率が決まるので政府の活動は全てPCで計算した通りになる。
1会計検査院=日銀総裁
2内閣
3裁判所
4国会 プログラマーは小さな文章を扱う数学者と同じ。
土方じゃない。