Rumah > pembangunan bahagian belakang > C++ > Program C++ untuk mengira asas 10 logaritma bagi nilai yang diberikan

Program C++ untuk mengira asas 10 logaritma bagi nilai yang diberikan

PHPz
Lepaskan: 2023-09-07 17:45:20
ke hadapan
1501 orang telah melayarinya

Program C++ untuk mengira asas 10 logaritma bagi nilai yang diberikan

Pengiraan semula jadi dalam pelbagai aplikasi secara relatifnya memerlukan asas 10 logaritma. Untuk peperiksaan kompetitif, terdapat beberapa cara cepat untuk mengingati beberapa nilai log. Apabila pengaturcaraan, terdapat beberapa cara untuk mengira hasil logaritma menggunakan fungsi perpustakaan serta beberapa pintasan. Dalam artikel ini, kami akan memperkenalkan beberapa cara untuk mengira asas 10 logaritma nombor tertentu dalam C++.

Gunakan fungsi log10().

Fungsi perpustakaan yang digunakan untuk menentukan logaritma asas 10 bagi argumen yang diberikan dipanggil log10(). Respons boleh menjadi integer atau apungan. Menggunakan kaedah ini adalah sangat mudah; anda hanya perlu memanggil fungsi dengan hujah integer tunggal dan perpustakaan cmath dan biarkan ia mengira logaritma asas 10 untuk anda. Mari kita lihat sintaks dan prosedur yang berkaitan untuk melihat cara ia digunakan.

Tatabahasa

#include < cmath >
log2( <number> )
Salin selepas log masuk

Algoritma

  • Ambil nombor x sebagai input
  • Gunakan log10( x ) untuk mengira asas 10 logaritma x
  • Kembalikan hasil.

Contoh

#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ){
   float answer;
   answer = log10( x );
   return answer;
}
int main(){
   cout << "Log base 10 for input x = 100 is: " << solve( 100 ) << endl;
   cout << "Log base 10 for input x = 1000 is: " << solve( 1000 ) << endl;
   cout << "Log base 10 for input x = 5487 is: " << solve( 5487 ) << endl;
   cout << "Log base 10 for input x = 25479 is: " << solve( 25479 ) << endl;
}
Salin selepas log masuk

Output

Log base 10 for input x = 100 is: 2
Log base 10 for input x = 1000 is: 3
Log base 10 for input x = 5487 is: 3.73934
Log base 10 for input x = 25479 is: 4.40618
Salin selepas log masuk

Gunakan fungsi logaritma dengan asas lain

Beberapa sifat menarik logaritma. Kita boleh mengira dari mana-mana asas keluaran logaritma asas lain. Untuk mengira menggunakan sebarang asas logaritma, gunakan formula berikut.

$$mathrm{log_{10}kiri ( x kanan )=frac{log_{k}kiri ( x kanan)}{log_{k}kiri ( 10 kanan )}}$ $

Algoritma

  • Ambil nombor x sebagai input
  • nombor := log-base-k ( x )
  • deno := log-base-k(10)
  • Pemulangan (nombor/deno).

Contoh

#include <iostream>
#include <cmath>
using namespace std;
float solve( int x ){
   float nume, deno;
   nume = log( x );
   deno = log( 10 );
   return nume / deno;
}
int main(){
   cout << "Log base 10 for input x = 100 is: " << solve( 100 ) << endl;
   cout << "Log base 10 for input x = 1000 is: " << solve( 1000 ) << endl;
   cout << "Log base 10 for input x = 5487 is: " << solve( 5487 ) << endl;
   cout << "Log base 10 for input x = 25479 is: " << solve( 25479 ) << endl;
}
Salin selepas log masuk

Output

Log base 10 for input x = 100 is: 2
Log base 10 for input x = 1000 is: 3
Log base 10 for input x = 5487 is: 3.73933
Log base 10 for input x = 25479 is: 4.40618
Salin selepas log masuk

Kesimpulan

Kaedah log10() pakej cmath boleh digunakan untuk mengira logaritma asas 10. Hasilnya akan dikembalikan sebagai integer atau pecahan. Pendekatan lain ialah menggunakan asas logaritma yang berbeza dan formula logaritma mudah, seperti yang ditunjukkan dalam Bahagian II. Untuk mendapatkan keputusan yang lebih tepat, kita juga boleh menggunakan kaedah berangka untuk mengira keputusan logaritma menggunakan kaedah pembahagian dua, kaedah Newton-Raphson, atau mana-mana teknik penyelesaian persamaan tak linear yang lain.

Atas ialah kandungan terperinci Program C++ untuk mengira asas 10 logaritma bagi nilai yang diberikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan