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

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

PHPz
PHPzke hadapan
2023-09-07 17:45:201429semak imbas

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> )

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;
}

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

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;
}

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

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam