多項式計算の効率テスト

Jul 30, 2016 pm 01:32 PM
clock double lt start stop

多項式計算はライブラリ関数 pow メソッドと Qin Jiugao アルゴリズムを呼び出し、その演算効率を測定してみましょう

計算関数 f(x)=1+(Σxi/i)(i は 1 から m までとります);

ctime time 関数を使用して実行時間をテストし、x=0.9 として

#include
#include;
#include
を名前空間 std; を使用して計算します
double Fn1(double x) ;
double Fn2(double x);
#define m 1000000000
Clock_t start, stop;
int main(){
double x;
x = 0.9;
start = Clock();
cout << x) << endl;
stop = Clock();
cout << double(stop - start) / CLK_TCK << endl;
//---------- - ----------
start = クロック();
cout < stop = クロック( ) ;
cout << double(stop - start) / CLK_TCK << endl;
return 0;
}
double Fn1(double x){
int i;
double f=1.0;
for (i = 1; i f += pow(x, i)/i;
return f;
}
double Fn2(double x){
int i;
double f = 0.0;
( i = m; i >= 1; i--) /*秦九超多項式アルゴリズム*/
f = f*x + 1.0 / i;
return f*x + 1.0;
}

下の表を参照実行時間

m 100 1000 10000 100000 1000000 10000000 1000000 1000000000
Fn1 0.001 0.001 0.003 0.015 0.157 1.619 17.955 191.608
Fn2 0 0 0 0.001 0.005 0.0 49 0.472 4.706

できる実行時間の結果からわかるように、Qin Jiushao アルゴリズムは pow 呼び出しメソッドよりもはるかに効率的です

以上、多項式計算の効率テストをその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win11のクロックウォッチドッグタイムアウトのブルースクリーンを解決するにはどうすればよいですか? win11のクロックウォッチドッグタイムアウトのブルースクリーンを解決するにはどうすればよいですか? Feb 14, 2024 pm 04:00 PM

Win11 システムをアップグレードした後、多くのユーザーは、クロックウォッチドッグタイムアウト ブルー スクリーンなどのブルー スクリーンを経験します。これを解決するにはどうすればよいでしょうか?ユーザーはドライバーを更新したり、過熱の問題などを確認したりできます。このサイトでは、win11のクロックウォッチドッグタイムアウトのブルースクリーンの解決策をユーザーに丁寧に紹介します。 win11 のクロックウォッチドッグタイムアウト ブルー スクリーンの解決策 1. ドライバーを更新します。CPU とマザーボードのドライバーを更新すると、問題が解決される可能性があります。製造元の Web サイトにアクセスして、最新のドライバーをダウンロードできます。 2. 過熱の問題を確認します。過熱もこのエラーの原因の 1 つである可能性があります。

docker start が起動できない場合はどうすればよいですか? docker start が起動できない場合はどうすればよいですか? Oct 21, 2022 pm 03:43 PM

Docker の起動に失敗した場合の解決策: 1. 実行ステータスを確認し、「echo 3 &gt; /proc/sys/vm/drop_caches」コマンドを使用して占有メモリを解放します; 2. 「$netstat -nltp|grep .. .」を使用します。 「」コマンドでポートが占有されているかどうかを確認します。オンライン後に占有されていることが判明した場合は、空いているポートに変更して再起動してください。

double型変数をint型に変換するC++プログラム double型変数をint型に変換するC++プログラム Aug 25, 2023 pm 08:25 PM

C++ では、int 型の変数は正または負の整数値のみを保持でき、10 進数値を保持できません。この目的に使用できる float 値と double 値があります。 double データ型は、小数点以下 7 桁までの小数を格納するために作成されました。整数から double データ型への変換は、コンパイラによって自動的に実行することも (「暗黙的」変換と呼ばれます)、プログラマがコンパイラに明示的に要求することもできます (「明示的」変換と呼ばれます)。次のセクションでは、さまざまな変換方法について説明します。暗黙的な変換 コンパイラは暗黙的な型変換を自動的に実行します。これを実現するには、浮動小数点型と整数型の 2 つの変数が必要です。浮動小数点値または変数を整数変数に代入するだけでは、コンパイラが他のすべてのことを処理します。

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

double は何バイトを占有しますか? double は何バイトを占有しますか? Dec 25, 2020 am 10:36 AM

double が占有するバイト数: 1. 16 ビット コンパイラでは、double は 8 バイトを占有します; 2. 32 ビット コンパイラでは、double は 8 バイトを占有します; 3. 64 ビット コンパイラでは、double は 8 バイトを占有します。

win7コンピュータでブルースクリーン表示停止0x00000c4を解決するにはどうすればよいですか? win7コンピュータでブルースクリーン表示停止0x00000c4を解決するにはどうすればよいですか? Feb 11, 2024 pm 06:54 PM

win7コンピュータでブルースクリーン表示stop0x00000c4を解決するにはどうすればよいですか? Win7 システムを使用しているときに、多くのユーザーがブルー スクリーンの問題に悩まされており、多くの操作ができなくなり、コンピューターの再起動が必要になることがよくあります。そこで、ブルー スクリーン stop0x00000c4 を解決する方法は何ですか? 今日は、win7 チュートリアルの編集者が詳細な解決策を共有します。一緒に調べてみましょう。 win7 コンピューターでブルー スクリーン ディスプレイ stop0x00000c4 を解決する方法 解決策 1: 1. コンピューターを再起動し、F8 キーを押したままセーフ モードで起動します。 2. インターフェイスに入ったら、不一致のドライバーとサードパーティ ソフトウェアを削除します。 3. ウイルス対策ソフトウェアを使用してコンピュータ上のウイルスをスキャンして駆除し、コンピュータを再起動します。通常はこれで問題ありません。 4.

ノードの起動でエラーが報告された場合の対処方法 ノードの起動でエラーが報告された場合の対処方法 Dec 29, 2022 pm 01:55 PM

ノード起動エラーの解決策: 1. ターミナルで直接「node xx.js」を実行します; 2. 起動スタートアップ項目「scripts」を追加します: {"test": "echo \"Error: no test specific\" && exit 1 " ,"start":"node service.js"}"; 3. 「npm start」を再実行します。

float と double の違いは何ですか float と double の違いは何ですか Oct 11, 2023 pm 05:38 PM

float と double の主な違いは、精度、ストレージと計算速度、範囲、およびプログラミング言語での使用にあります。詳細な紹介: 1. 精度が異なります。Float は 4 バイト (32 ビット) を占有する単精度浮動小数点数ですが、Double は 8 バイト (64 ビット) を占有する倍精度浮動小数点数です。ストレージと計算速度が異なります。double はより多くのスペースを必要とし、値を保存するためにより多くのストレージスペースが必要です。高いパフォーマンスと速度が必要なアプリケーションでは、float 型を使用する方が効率的である可能性があります。3. 範囲が異なるなど。

See all articles