Rumah > Artikel > pembangunan bahagian belakang > Program C++ untuk mengira logaritma nombor tertentu berdasarkan asas tertentu
Dalam hampir semua bahasa pengaturcaraan moden, kita boleh menemui beberapa fungsi logaritma seperti logaritma asli, logaritma asas 2, logaritma asas 10, dll. Tetapi kadangkala kita perlu mengira logaritma asas yang berbeza yang tidak terdapat dalam fungsi perpustakaan yang diberikan. Untuk mencapai ini kita boleh menggunakan formula logaritma mudah. Dalam artikel ini, kita akan melihat cara mengira nilai logaritma dalam C++ menggunakan nombor yang diberikan dan asas yang diberikan.
Andaikan kita telah mengambil nombor x, yang asasnya ialah k, yang juga telah diberi. Formulanya adalah seperti berikut: Terjemahan follow −
ialah: follow −$$mathrm{log_{k}kiri ( x kanan )=frac{log_{m}kiri ( x kanan)}{log_{m}kiri ( k kanan )}}$$
di mana m adalah mana-mana yang diketahui (asas tersedia)
Pustaka cmath C++ menyediakan kaedah log10() untuk mencari logaritma asas 10 bagi nombor tertentu. kami Fungsi yang sama boleh digunakan untuk mengira logaritma asas k. Sintaks yang digunakan ialah: Contoh log10() adalah seperti berikut −
#include < cmath > Log10( <number> )
Baca dua nombor x dan k
res := (gunakan log10(x) untuk mencari asas 10 logaritma x) / (gunakan log10(k) untuk mencari asas 10 logaritma k)
return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log10( x ) / log10( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
Dalam perpustakaan cmath dalam C++, kaedah log2() membolehkan pengguna mencari logaritma asas 2 nombor yang diberi. Fungsi yang sama boleh digunakan untuk mengira logaritma asas k yang ditentukan Sintaks berikut digunakan untuk menggunakan log2() −
#include < cmath > Log2( <number> )
Baca dua nombor x dan k
res := (gunakan log2( x ) untuk mencari asas 2 logaritma x ) / (gunakan log2( k ) untuk mencari asas 2 logaritma x )
return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log2( x ) / log2( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
Dalam perpustakaan cmath dalam C++, kaedah log() logaritma asli membolehkan pengguna mencari logaritma Gunakan asas 'e' untuk nombor yang diberikan. Logaritma boleh dikira menggunakan asas k yang ditentukan Fungsi yang sama. Sintaks berikut digunakan untuk menggunakan fungsi log() −
#include < cmath > log( <number> )
Baca dua nombor x dan k
res := (gunakan log(x) untuk mencari logaritma x dalam asas e) / (gunakan log(k) untuk mencari logaritma x dalam asas e)
return res
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log( x ) / log( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
Gunakan formula logaritma asas tertentu untuk mendapatkan hasil logaritma, Kami menggunakan mana-mana kaedah logaritma asas yang diketahui pada nombor x tertentu dan membahagikannya dengan Gunakan nilai yang diketahui sebagai asas logaritma asas baharu sebagai input. Dalam artikel ini kami gunakan Tiga fungsi logaritma sedia ada yang diketahui ialah log10(), log2() dan log() [logaritma asli] Menghasilkan keputusan untuk nombor yang diberikan dan asasnya.
Atas ialah kandungan terperinci Program C++ untuk mengira logaritma nombor tertentu berdasarkan asas tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!