Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C++ untuk mengira punca kubus nombor tertentu

Program C++ untuk mengira punca kubus nombor tertentu

PHPz
PHPzke hadapan
2023-08-28 17:37:031478semak imbas

C++ 计算给定数字的立方根的程序

Mendarab nombor yang sama tiga kali dipanggil kubus nombor itu. Atau kita boleh katakan jumlah itu dinaikkan kepada kuasa ketiga. Contohnya, 3 * 3 * 3 = 27, iaitu nombor padu. Tetapi jika kita ingin melakukan sebaliknya, kita perlu mencari punca kubus nombor itu. Contohnya $sqrt[3]{27}$ = 3. Dalam artikel ini, kita akan membincangkan cara mengira punca kubus nombor tertentu dalam C++. Terdapat beberapa teknik yang berbeza untuk melakukan ini.

Gunakan fungsi cbrt()

cbrt() ialah fungsi perpustakaan yang digunakan untuk mengira punca kubus bagi nombor tertentu. Jika nombor itu adalah kubus sempurna, hasilnya ialah integer, jika tidak, ia mengembalikan nombor titik terapung. Fungsi ini hanya mengambil satu hujah dan mengembalikan punca kubusnya. Untuk menggunakan fungsi ini, kita perlu mengimport perpustakaan cmath ke dalam program C++. Mari lihat sintaks fungsi ini.

tatabahasa

#include < cmath >
cbrt( <cubic number> )

Algoritma

  • Ambil nombor padu x sebagai input.
  • Gunakan cbrt(x) untuk mengira punca kuasa dua bagi x.
  • Kembalikan hasil.

Contoh

#include <iostream>
#include <cmath>
using namespace std;

float solve( int x ) {
   float answer;
   answer = cbrt( x );
   return answer;
}

int main() {
   cout << "Cube root of 125 is: " << solve( 125 ) << endl;
   cout << "Cube root of 27 is: " << solve( 27 ) << endl;
   cout << "Cube root of 158 is: " << solve( 158 ) << endl;
   cout << "Cube root of 1000000 is: " << solve( 1000000 ) << endl;
}

Output

Cube root of 125 is: 5
Cube root of 27 is: 3
Cube root of 158 is: 5.40612
Cube root of 1000000 is: 100

Jangan gunakan fungsi perpustakaan

Dalam contoh sebelumnya, kami melihat cara mengira punca kubus nombor menggunakan fungsi perpustakaan daripada perpustakaan cmath. Dalam bahagian ini, kita akan mencipta fungsi untuk mengira punca kubus bagi nombor tertentu. Algoritmanya adalah seperti berikut -

Algoritma

  • Ambil nombor yang akan dikira punca kuasa tiga, seperti x.
  • Mula: = 0.
  • Tamat: = x.
  • 中:=(mula+tamat)/2.
  • Walaupun x berbeza dengan pertengahan3, namun.
    • 中:=(mula+tamat)/2.
    • Jika pertengahan3 >

      i. akhir := pertengahan.

    • Jika ia berakhir.
    • Jika pertengahan3< x, maka:

      i.

    • Jika ia berakhir.
  • Tamatkan kitaran.
  • Cetak nilai tengah.

Contoh

#include <iostream>
#include <cmath>

using namespace std;
float solve( int x ) {
   int start = 0;
   int end = x;
   float mid = ( start + end ) / 2;
   while ( (mid * mid * mid) != x ) {
      mid = ( start + end ) / 2;
      if ( mid * mid * mid < x )
         start = mid;
      else if( mid * mid * mid > x)
         end = mid;
   }
   return mid;
}
int main() {
   cout << "Cube root of 125 is: " << solve( 125 ) << endl;
   cout << "Cube root of 27 is: " << solve( 27 ) << endl;
   cout << "Cube root of 1000000 is: " << solve( 1000000 ) << endl;
}

Output

Cube root of 125 is: 5
Cube root of 27 is: 3
Cube root of 1000000 is: 100

Satu kelemahan kaedah ini ialah ia boleh dikira dengan mudah apabila nombornya adalah kiub yang sempurna. Kami juga boleh mengendalikan hasil titik terapung menggunakan pengurusan ketepatan ralat yang sesuai.

KESIMPULAN

Mengira punca kubus nombor ialah cara yang sangat mudah apabila kita menggunakan fungsi cbrt() daripada fail pengepala cmath. Kaedah ini hanya mengambil satu parameter, nombor padu, dan kemudian mencari punca kubusnya. Sebaliknya, jika kita ingin mengira punca kubus tanpa menggunakan perpustakaan cmath atau mana-mana pustaka pihak ketiga, kita boleh menggunakan kaedah berangka untuk mengiranya. Dalam contoh kami, kami menggunakan kaedah pembahagian dua untuk mengira punca kubus. Dalam contoh yang diberikan, fungsi hanya akan berfungsi jika nombor yang diberikan adalah kubus sempurna. Ia mungkin tidak berfungsi untuk mana-mana nombor lain yang punca kubusnya bukan integer. Kita boleh menambah beberapa kaedah ketepatan ralat untuk mengendalikan hasil bukan integer yang lain, seperti punca kubus.

Atas ialah kandungan terperinci Program C++ untuk mengira punca kubus nombor tertentu. 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