Rumah pembangunan bahagian belakang tutorial php 多项式计算的效率测试

多项式计算的效率测试

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

多项式计算调用库函数pow方法和秦九韶算法,我们来测算下他们的运行效率

计算函数f(x)=1+(Σxi/i)(i从1取到m);

用ctime时间函数来测试运行时间,带入x=0.9来计算

#include
#include;
#include
using namespace 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 stop = clock();
cout //-----------------------------------
start = clock();
cout stop = clock();
cout 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;
for (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.049 0.472 4.706

从运行时间的结果可以看出来,秦九韶算法效率远远高于pow调用方法

以上就介绍了多项式计算的效率测试,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika docker start tidak boleh bermula? Apakah yang perlu saya lakukan jika docker start tidak boleh bermula? Oct 21, 2022 pm 03:43 PM

Penyelesaian kepada kegagalan permulaan docker: 1. Semak status berjalan, dan kemudian lepaskan memori yang diduduki melalui arahan "echo 3 > /proc/sys/vm/drop_caches" 2. Gunakan "$netstat -nltp|grep .. . " perintah untuk menyemak sama ada port telah diduduki. Jika ia didapati telah diduduki selepas pergi dalam talian, tukarkannya kepada port yang tersedia dan kemudian mulakan semula.

Bagaimana untuk menyelesaikan skrin biru tamat masa pengawas jam win11? Bagaimana untuk menyelesaikan skrin biru tamat masa pengawas jam win11? Feb 14, 2024 pm 04:00 PM

Ramai pengguna akan mengalami skrin biru selepas menaik taraf sistem win11, seperti: clockwatchdogtimeout blue screen, jadi bagaimana untuk menyelesaikannya? Pengguna boleh mengemas kini pemandu atau menyemak masalah terlalu panas, dsb. Biarkan laman web ini dengan teliti memperkenalkan kepada pengguna penyelesaian kepada skrin biru win11 clockwatchdogtimeout. Penyelesaian kepada clockwatchdogtimeout blue screen win11 1. Kemas kini pemacu: Mengemas kini pemacu CPU dan motherboard boleh menyelesaikan masalah. Anda boleh memuat turun pemacu terkini dengan melawati tapak web pengilang. 2. Semak isu terlalu panas: Terlalu panas juga mungkin salah satu punca ralat ini.

Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Program C++ untuk menukar pembolehubah jenis berganda kepada jenis int Aug 25, 2023 pm 08:25 PM

Dalam C++, pembolehubah jenis int hanya boleh menyimpan nilai integer positif atau negatif; Terdapat nilai terapung dan berganda tersedia untuk tujuan ini. Jenis data berganda dicipta untuk menyimpan perpuluhan sehingga tujuh digit selepas titik perpuluhan. Penukaran integer kepada jenis data berganda boleh dilakukan secara automatik oleh pengkompil (dipanggil penukaran "tersirat"), atau ia boleh diminta secara eksplisit oleh pengaturcara daripada pengkompil (dipanggil penukaran "eksplisit"). Dalam bahagian berikut, kami akan merangkumi pelbagai kaedah penukaran. Penukaran tersirat Pengkompil melakukan penukaran jenis tersirat secara automatik. Untuk mencapai matlamat ini, dua pembolehubah diperlukan - satu jenis titik terapung dan satu lagi jenis integer. Apabila kita hanya menetapkan nilai titik terapung atau pembolehubah kepada pembolehubah integer, pengkompil menjaga semua perkara lain

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个字节。

Bagaimana untuk menyelesaikan hentian paparan skrin biru 0x00000c4 pada komputer win7? Bagaimana untuk menyelesaikan hentian paparan skrin biru 0x00000c4 pada komputer win7? Feb 11, 2024 pm 06:54 PM

Bagaimana untuk menyelesaikan paparan skrin biru stop0x00000c4 pada komputer win7? Ramai pengguna menghadapi masalah skrin biru apabila menggunakan sistem win7, yang menyebabkan banyak operasi tidak tersedia dan sering memerlukan memulakan semula komputer Jadi bagaimana untuk menyelesaikan skrin biru stop0x00000c4 Hari ini editor tutorial win7 akan berkongsi dengan anda penyelesaian terperinci. mari kita ketahui bersama. Cara menyelesaikan paparan skrin biru stop0x00000c4 pada komputer win7 Penyelesaian 1: 1. Mulakan semula komputer, tahan kekunci F8, dan mulakan dalam mod selamat. 2. Selepas memasuki antara muka, padamkan pemacu yang tidak sepadan dan perisian pihak ketiga. 3. Gunakan perisian anti-virus untuk mengimbas komputer untuk mengesan virus, dan kemudian mulakan semula komputer Ia biasanya ok. 4.

Apakah perbezaan antara float dan double Apakah perbezaan antara float dan double Oct 11, 2023 pm 05:38 PM

Perbezaan utama antara apungan dan berganda terletak pada ketepatan, penyimpanan dan kelajuan pengiraan, julat dan penggunaan dalam bahasa pengaturcaraan. Pengenalan terperinci: 1. Kepersisan adalah berbeza Float ialah nombor titik terapung ketepatan tunggal, menduduki 4 bait (32 bit), manakala double ialah nombor titik terapung berketepatan dua, menduduki 8 bait (64 bit); storan dan kelajuan pengiraan adalah berbeza , dua kali ganda mengambil lebih banyak ruang dan memerlukan lebih banyak ruang storan untuk menyimpan nilai Dalam aplikasi yang memerlukan prestasi dan kelajuan tinggi, ia mungkin lebih cekap untuk menggunakan jenis apungan.

Perkara yang perlu dilakukan jika permulaan nod melaporkan ralat Perkara yang perlu dilakukan jika permulaan nod melaporkan ralat Dec 29, 2022 pm 01:55 PM

Penyelesaian kepada ralat permulaan nod: 1. Jalankan "nod xx.js" terus dalam terminal 2. Tambah item permulaan "skrip": {"test": "echo \"Error: no test specified\" && exit 1 "; ,"start":"node service.js"}"; 3. Laksanakan semula "npm start".

See all articles