ヽ、.三 ミニ、_ ___ _,. ‐'´//-─=====-、ヾ /ヽ
,.‐'´ `''‐- 、._ヽ /.i ∠,. -─;==:- 、ゝ‐;----// ヾ.、
[ |、! /' ̄r'bゝ}二. {`´ '´__ (_Y_),. |.r-'‐┬‐l l⌒ | }
゙l |`} ..:ヽ--゙‐´リ ̄ヽd、 ''''  ̄ ̄ |l !ニ! !⌒ //
. i.! l .::::: ソ;;:.. ヽ、._ _,ノ' ゞ)ノ./
` ー==--‐'´(__,. ..、  ̄ ̄ ̄ i/‐'/
i .:::ト、  ̄ ´ l、_/::|
! |: |
ヽ ー‐==:ニニニ⊃ !:: ト、
俺はとんでもない発見をした。これを見てみろ。
π=16arctan(1/5)-4arctan(1/239)
これはπを求める有名なマチンの公式だ。収束がいいと言われているが俺は
さらに収束のいい組合わせを見つける公式を編み出した
まずこれを見てくれ
α=arctan(1/x)より 1/x=tanα・・・@
そうxに5を入れればマチンの公式を導ける。
ここで加法定理を使って
tan2α=2(tanα)/(1-(tanα)^2)
@を代入して
tan2α=2x/(x^2-1)
同様に計算して
tan4α=4x(x^2-1)/((x^2-1)-4x^2)
tan(4α-π/4)=(-1+tan4α)/(1+tan4α)=(-x^4+4x^3+6x^2-4x-1)/(x^4+4x^3-6x^2-4x+1)・・・A
A式が1/nの形式で表されれば
4α-π/4=arctan(1/n)
より4α=4arctan(1/x)を代入して
π/4=4arctan(1/x)-arctan(1/n)
これでπが求まる
つまりA式で分母分子で約分して分子が1になるxの値を見つければよいのだ。
約分が出来るつまり分子の余りが0である事に注目してプログラムを組めばよいから
/ ○ ヽ / ○ \ .┌┐┌┐
_|_ /―┐ _________ / ヽ――‐/ ヽ________ ││││
_|_ / _/ ::::::::::::::::::::::::::::::::::::::::::::::: | ヽ / |:::::::::::::::::::::::::::::::::::::::::: ││││
| /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ ヽ / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ └┘└┘
| ノ .\ ヽ/ / . ○. ○
#include"stdio.h"
main(){
FILE *fp;
int cnt;
long z1,z2,amari,yaku;
fp=fopen("a.txt","w");
for(cnt=1;cnt<1000000;cnt++){
z1=4*cnt*cnt*cnt-cnt*cnt*cnt*cnt+6*cnt*cnt-4*cnt-1;
z2=4*cnt*cnt*cnt+cnt*cnt*cnt*cnt-6*cnt*cnt-4*cnt+1;
amari=z2%z1;
yaku=z2/z1;
if(amari==0){
fprintf(fp,"n=%d ",cnt);
fprintf(fp," %ld",yaku);
fprintf(fp,"\n");
}}}
__,,,,_
/´  ̄`ヽ,
/ 〃 _,ァ---‐一ヘヽ __人__人__
/~ト=. i /´ リ} ) キ (
/ヽ_ノノ三 | 〉. -‐ '''ー {! .) . タ .(
, く _/三.__ | | ‐ー くー | ) l (
/ ./三./ ノ }三 リ ´゚ ,r "_,,>、 ゚'} ) l (
/、__ /=/`ー' /三.」 ト‐=‐ァ' !. ) l (
/ ,/丶 /三三三 i、 ` `二´' 丿. ) l (
/ /ヽ、 /三三三. - .|、` '' ー--‐f´ ) .!! (
/,/ _,∠ -┬―‐┬┬‐=="'' ‐<..,,_|_|"'''‐-、 ⌒Y⌒Y⌒Y
,.-:「 ;:''' ! :! L..ノノ三- 、_ ハ. iヘヽ、
/|:! ,! ::::-=二王 ̄三 ̄ ̄ `'′入oヽ ´‐\
|:|:! | i'''""" !  ̄ !丁 ヽ三. ト、 ̄o ̄]ニヽ ヽ'''""ヽ
|| ! ! ,| ,;:::-┬―――三'三. |  ̄ ̄ lニヽoヽ__,,,...`、
|| !| | :::: l三|= |三. | ノ_,ヽ. ヽ_,,,.|
ヽ|l,l|l___;;;;;__ノ三!= /三三  ̄ ̄_,,.. -ヽ. ヽ
( ´,_ゝ`)プッ
xに逐次代入して計算しているその結果は
n=1 -1
n=5 239
n=32767 131071
n=65535 262143
n=98303 393215
n=131071 524287
n=163839 655359
n=196607 786431
n=229375 917503
n=262143 1048575
n=294911 1179647
n=327679 1310719
n=360447 1441791
n=393215 1572863
n=425983 1703935
n=458751 1835007
n=491519 1966079
(略)
となるここで注目して欲しいのはn=5はマチンが見つけたが
n=32767以降は誰も見つけていない。しかもn=1とn=5はノイズとみなして
よいから省略するとなんと余りが0となるxに規則性がある事を発見したのだ!
差分をとればわかるがすべて32768という数字になるのだ!!
これで俺はノーベル賞いただきだ!!!!
削除依頼完了
数学板で拾ってきたコピペ
多分
さらっと見、その通り。
論文書くために NOVA へ通うべきかどうかは数学板で聞いてみれば。
数学板にも貼ってみようかな・・・。
精神病院ってどこにありますか?
祈念パピコ
数学板住民にはすぐバレルからなぁ・・・。
あまり大々的にはねぇ・・・。
よくわからんが、駄目じゃないか?
(defun m (x y) (- (* 16 (atan (/ 1.0 x))) (* 4 (atan (/ 1.0 y)))))
(m 5 239) => 3.141593
(m 32767 131071) => 4.577783e-4
久しぶりに見たな、逆ポーランド使い。
>tan(4α-π/4)=(-1+tan4α)/(1+tan4α)
これ、
>tan(4α-π/4)=-2tan4α/(1+tan4α)
ね。
ここで間違ってるからもちろん計算が合うはずが無い。
(-x^4+4x^3+6x^2-4x-1)/(x^4+4x^3-6x^2-4x+1)
に5入れると偶然割り切れちゃうけど1/106になるぞ。
おい、早くその歴史的ハケーンをFortranに移植汁。
本当に歴史的発見だったらオーバークロッカーもびっくりだけど、
本当に正しいの?式読むのもめんどい
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
main()
{
const double x = 32767;
const double n = 131071;
const double pi = 16 * atan2(1, x) - 4 * atan2(1, n);
cout << setw(18) << setprecision(15) << pi << endl;
}
0.000457778340507531
hoge
hogehoge
Linux は屑!