• ベストアンサー

漸化式を用いたπを求めるプログラム

下のプログラムの問題がわかりません。教えていただけませんか? 半径1の円に内接する正6・2^n角形の1辺の長さをa(n)とし  a(n)+1=a(n)/√2+√4-a^2(n) の式のπの近似値を計算するプログラムを作成しなさい。  ※()の中は添え字です。 あと√2+√4-a^2(n)の文章は √のなかに2+√4-a^2(n)の式が入ってる形です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Option Explicit On Option Compare Binary Option Strict On Option Infer Off 'VB2008以上 Class Q4333288A Shared Sub Main() System.Console.WriteLine(CalculatePI(50).ToString()) System.Console.ReadKey(true) End Sub Shared Function CalculatePI(Precision As Integer) As Double Dim pi As Double = SideLength(Precision) * 6 * Math.Pow(2,Precision) / 2 Return pi End Function 'クラスに分割しようと思ったけど,関数名が思いつかないので放置 Shared Function SideLength(n As Integer) As Double If n < 0 Then Throw new System.ArgumentOutOfRangeException() End If If n = 0 Then Return 1.0 End If Dim temp As Double = SideLength(n-1) Return temp / Math.Sqrt(2+Math.Sqrt(4-Math.Pow(temp,2))) End Function End Class 'a(n)+1=a(n)/√2+√4-a^2(n) 'これじゃ式が全然通じないよ 'a(n)+ 1 = ( a(n) / Math.Sqrt(2) )+ Math.Sqrt(4) - Math.Pow(a(n),2) 'とか 'a(n)+ 1 = a(n) / Math.Sqrt(2 + Math.Sqrt(4) - Math.Pow(a(n),2)) 'って読んじゃった。 'せめて 'a(n+1)=a(n)/√(2+√(4-(a(n))^2)) 'と書かないと。 'a(n+1) = a(n) / Math.Sqrt(2+Math.Sqrt(4-Math.Pow(a(n),2))) 'だともっと嬉しい。 'VBA/VB6だと後から言われても回答には戻ってこないつもり '問1:この漸化式を導出せよ 'わざわざ面積を求めんでも。周囲の長さでいいじゃん

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

>'わざわざ面積を求めんでも。周囲の長さでいいじゃん 比の関係からするとそうですけど、値は円周だと 2πになっちゃいますから。 2で割ればというのはまあそうなんですが。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

半径1の円に内接する正六角形の一辺の長さが 1 になります。 あとはこの値と質問にある式を使って、 a(n)+1=a(n)/√2+√4-a^2(n) 正十二角形、正二十四角形、…の値を求めていくと次のように変化します。 半径1の円の面積はπですが、正多角形のほうの変化に注目してください。 辺の数 6 辺の長さa 1 内接正多角形の面積 2.598076211353315940291 面積比 0.826993343132688074267 辺の数 12 辺の長さa 0.5176380902050415246978 内接正多角形の面積 3 面積比 0.9549296585513720146133 辺の数 24 辺の長さa 0.2610523844401031830968 内接正多角形の面積 3.1 05828541230249148187 円の面積 3.1 41592653589793238463 面積比 0.9886159294653692193848 辺の数 48 辺の長さa 0.1308062584602861336306 内接正多角形の面積 3.1 32628613281238197162 円の面積 3.1 41592653589793238463 面積比 0.9971466573496369329908 だんだんと本当の値に近づいていきます。 この手順を繰り返すようにプログラムを組めばいいだけです。

関連するQ&A

  • 二重根号を含む漸化式について

    a[n+1]=a[n]/√{2+√(4-a[n]^2 )} の漸化式の解き方はどのようにすればいいのでしょうか。 この式は半径1の円に内接する正6×2^n角形の一辺の長さをa[n]としたときのものです。 どうか教えて下さい。

  • マチンの公式による円周率のプログラム

    この前、学校の授業でマチンの公式による円周率の計算をするプログラムを以下の方針で考えました。ここで、atanを求めるユーザー定義関数を作りたいのですが、途中までは考えたのですが以下の空欄の部分が、よく分かりません。 【方針】1.数列a(k)=±(1/2k-1)*x^(2k-1)(k=1,2,…)の漸化式を作る。(a(k)のkは添え字です) 2.a(1)+a(2)+a(3)+…+a(N)の値をatan(x)の近似値とする。 (1,2,3,…,Nは添え字です) (プログラムの一部)→atanの近似値を求める関数 double Atan(double x) { double s=_,a=_,kk; int k; //添え字用 for(k=1;k<=x;k++) {s_; //多分式が入る。 kk=(double)k; a_; //多分式が入る。 } return s; } 下線部に適当な文字や式を入れて、この関数を完成させてください。(ヒントをください) ※できれば、このプログラムの形は変えないで、下線部のみを埋めてください。

  • log(x-1)の漸化式

    log(x-1)の漸化式 テーラー展開して漸化式を作る式がありますよね? 例えば、e^xだとテーラー展開して・・・ y=1+x/+1!+x^2/2!・・・x^n/n! これを利用して a(n)=x/k*a(n-1) となって漸化式が出ます。同様にsinxも考えると y=x - x^3/3! + x^5/5! - x^7/7! + ・・・(-1)^n-1*x^2n-1/2n-1 これを利用して a(n)=x^2/2k-1*a(n-1) となります。(ここまで間違っている部分もあったら、教えてください。) ですが…log(x-1)はどうやってテーラー展開を考えればいいのか分かりません。 この3つはこの後プログラムでテーラー展開の近似の計算に使うのですが・・・ log(x-1)どうやればできるのかをお願いします。

  • 漸化式

    漸化式の問題で X(n+1)=1/2*X(n)+1  ”()”の中は小さい添え字です。 の一般項を求めよという問題で、答えが合いませんでした。 一般項はどうなるか教えてください。 方法は、自力でやってみようと思いますので、答えだけお願いします。 X(n+1)=2*X(n)+1 も少し違っていましたのでよろしくお願いします。

  • 漸化式を誰か教えてください

    今、漸化式の問題を解いているのですがどうしても分からない問題があるので教えてください。 問題は a(1)=(1/3),【3^(n-1)】a(n+1)=【3^n】a(n)+1(n=1,2,3,…)で定められる数列{a(n)}の初項から第n項までの和をS(n)とする。 このとき、lim【n→∞】S(n)の値は3/4で求めかたが分かりませんので、所々教えてください。 時間があるかた教えていただければ幸いです。 この問題を解くにはb(n)=【3^n】a(n)とすると漸化式が求められるそうなのですが (1) b(n+1)=b(n)+1になるのでしょうか? 【3^(n-1)】a(n+1)はb(n+1)になってしまうの? (2) b(1)=3*((1/3)=1になってしまうの? (3) b(n)=1+(n-1)*1=nの式はどこから現われたのか? (4) a(n)=【n/(3^n)】とSn=Σ(n,k=1) 【k/(3^k)】は何処から現れたのか? (5) S(n)-(1/3)*S(n)は何処から現われたのか? (6) ↑を計算すると(1/3)+(1/3^2)+…+(1/3^n)-【n/(3^(n+1)】 となりますが、どうしてΣ(n,k=1)【n/(3^(n+1)】となるのでしょうか? (7) (【(1/3)*{1-(1/3)n}】/【1-(1/3)】) -n/【3^(n+1)】は何処から現われたのでしょうか? ↑を計算すると(1/2)*【1-(1/3)n】-n/【3^(n+1)】となります。 S(n)=(3/4)*【【1-(1/3)n】】-(3/2)*n/【3^(n+1)】の形にどうしてなるのか分かりません。 (8) ↑の式は(1/3)nのnに∞を代入して0,【3^(n+1)】のnの部分に代入して0になって3/4となるのでしょうか?

  • 数列漸化式

    図のように、1辺の長さ1の正方形の各辺2:1に内分する4点を結んでできる正方形の面積をS_1とする。同様に、新しくできた正方形の4辺を2:1に内分する4点を結んでできる正方形の面積をS_2とする。以下同様に、この操作をn回行った後にできる正方形の面積をS_nとするとき、S_nをnの式で表せ。 答えだけでなく解き方の過程を詳しく!!教えてもらえると本当に助かります! 苦手なのでこんな私にもわかるようにどうかお願いします´`

  • 三角比について教えてください

    半径10の円に内接する正n角形の1辺の長さを求めよ。また、円の中心Oから正n角形の1辺に下ろした垂線の長さを求めよ。

  • 漸化式についてです

    a[n+2]+a[n]=0 a[1]=-1 a[2]=0 という漸化式の一般項を求めよ、という問題なのですが 最終的にiが残らない形になるようにする方法が分かりません。 どなたか分かる方教えて下さると嬉しいです。 よろしくお願いします。

  • 漸化式

    (1)a(1)=1,a(2)=2,a(n+2)=4a(n+1)-3a(n) (2)s(n)=2a(n)-2ⁿ⁺¹+2 (3)a(1)=5,a(n+1)=9{a(n)}² の三題を解いてください。途中式はなくて結構です。a(n)=の答えだけ教えて下さい。明日テストなので宜しくお願いします。( )の中は文字の横の小さい字を表しています。

  • 数列文章題(漸化式)

    数列を教えてください!!(漸化式等) 図のように、1辺の長さ1の正方形の各辺2:1に内分する4点を結んでできる正方形の面積をS_1とする。同様に、新しくできた正方形の4辺を2:1に内分する4点を結んでできる正方形の面積をS_2とする。以下同様に、この操作をn回行った後にできる正方形の面積をS_nとするとき、S_nをnの式で表せ。 答えだけでなく解き方の過程を詳しく教えてもらえると本当に嬉しいです!

専門家に質問してみよう