Program C++ untuk mengira punca kubus nombor tertentu

PHPz
Lepaskan: 2023-08-28 17:37:03
ke hadapan
1528 orang telah melayarinya

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> )
Salin selepas log masuk

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;
}
Salin selepas log masuk

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
Salin selepas log masuk

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;
}
Salin selepas log masuk

Output

Cube root of 125 is: 5
Cube root of 27 is: 3
Cube root of 1000000 is: 100
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!