ページ 11

scanf文を使って近似式の求め方

Posted: 2018年10月24日(水) 17:27
by あいうえお
π/4を数学近似式を用いて円周率を計算するプログラムの作成の仕方を教えてください!

Re: scanf文を使って近似式の求め方

Posted: 2018年10月24日(水) 22:56
by かずま
あいうえお さんが書きました:
6年前
π/4を数学近似式を用いて円周率を計算するプログラムの作成の仕方を教えてください!
これでは問題の丸投げであって、質問への回答は期待できないでしょう。

フォーラム(掲示板)ルール
に従って質問すると、すぐに回答が付くでしょう。

何が分からないのかを書かないといけません。

・scanf とは何かが分からないのですか?
・scanf を使ったプログラムを書いたことがないのですか?
・scanf で何を入力するのかが分からないのですか?
・「数学近似式を用いて」と「円周率を計算する」は分かりますが、
 「π/4を」はどこにかかるんですか?
・計算するのは円周率ですか、それとも π/4 の値ですか?
・数学近似式が何か分からないのですか?
・プログラムは書いたことがあるのですか?
・言語は何ですか? scanf を使うということは、Java や Python ではなく、
 C または C++ だと推察できますが、C++ の解答でもいいんですか?
・三角関数は分かっていますか?
・テイラー展開またはマクローリン展開はご存知ですか?
・級数の収束について理解していますか?

上記の質問に答えていただけると、解答につながるアドバイスを差し上げます。
こことここが分からないという返信でも構いません。

Re: scanf文を使って近似式の求め方

Posted: 2018年10月24日(水) 23:08
by かずま
ちょっとだけヒントを。
近似式を使わず、三角関数を直接使って円周率を求める方法です。

コード:

#include <stdio.h>  // printf
#include <math.h>   // atan, asin

int main(void)
{
	printf("%.14f\n", atan(1) * 4);
	printf("%.14f\n", asin(0.5) * 6);
	printf("%.14f\n", atan(0.2) * 16 - atan(1.0/239) * 4);
}
実行結果

コード:

3.14159265358979
3.14159265358979
3.14159265358979
問題の解答は、三角関数を近似式で書けばよいのです。

Re: scanf文を使って近似式の求め方

Posted: 2018年10月25日(木) 10:28
by usao
オフトピック
円周率の近似と言えば,これでしょう
printf( "3" );

Re: scanf文を使って近似式の求め方

Posted: 2018年10月25日(木) 22:55
by lx
数学近似式ってこういうこと?

ライプニッツの公式
https://qiita.com/sassy_watson/items/75 ... 2ab991ee1b

ガウス=ルジャンドルのアルゴリズム
https://qiita.com/pengincoalition/items ... 4149e72efc