Program C++ untuk Mencari GCD

Program C Untuk Mencari Gcd



GCD dirujuk sebagai ' Pembahagi Sepunya Terhebat ” (GCD). Ia kerap muncul dalam pelbagai pengiraan dan teknik. Ia adalah konsep asas dalam matematik yang digunakan untuk mengira nombor positif tertinggi yang merupakan hasil pembahagian antara dua atau lebih nombor yang mempunyai baki sifar.

Dalam panduan ini, kami akan menganalisis pelbagai corak untuk mencari GCD dengan kaedah dalam C++.

Program C++ untuk Mencari GCD

Dalam C++, untuk mendapatkan integer positif terbesar yang membahagi dua nombor yang disediakan tanpa meninggalkan sebarang baki, gunakan GCD (Pembahagi Sepunya Terhebat). Ia membantu dalam memudahkan pecahan dan menyelesaikan isu yang melibatkan faktor sepunya. Fungsi GCD dalam atur cara mengembalikan faktor sepunya terbesar antara dua integer input.







C++ menyediakan pelbagai kaedah untuk mengira GCD bagi dua nombor. Sebahagian daripada mereka diterangkan di bawah.



Kaedah 1: Cari GCD Menggunakan Euclidean-Algorithm dalam C++

' Algoritma Euclidean ” ialah kaedah yang digunakan secara meluas dan boleh dipercayai untuk menentukan GCD bagi dua nombor berbeza. Ia berdasarkan fakta bahawa GCD untuk dua integer kekal tidak berubah jika nombor yang lebih kecil(integer) ditolak daripada yang lebih besar, dan pendekatan ini berterusan sehingga mana-mana integer menjadi sifar.



Mari kita lihat contoh di bawah, di sini kita mencari (GCD) dua nombor menggunakan algoritma Euclidean. Pertama, masukkan perpustakaan yang diperlukan:





#include
menggunakan ruang nama std ;

di sini:

  • ” fail pengepala termasuk aliran input dan output, yang membolehkan operasi input dan output.
  • menggunakan ruang nama std ” ialah arahan yang memudahkan penggunaan nama yang datang dari ruang nama std.

Kemudian, isytiharkan ' find_GCD() 'fungsi yang mengambil dua parameter integer' nilai1 ” dan “ nilai2 ” masing-masing. Seterusnya, gunakan ' jika ” pernyataan untuk menyemak “ nilai1 'yang akan sentiasa lebih besar dan sama dengan' nilai2 ”. Selepas ini, ' sementara 'gelung digunakan yang terus mengembalikan nilai sehingga keadaan ' nilai2!= 0 ” menjadi palsu. Di dalam gelung 'semasa', 'nilai1' dibahagikan dengan 'nilai2' dan menyimpan hasilnya dalam ' baki ” pembolehubah.



Nilai 'nilai1' dan 'nilai2' dikemas kini kerana 'nilai1' menjadi nilai semasa 'nilai2', dan 'nilai2' menjadi 'baki' yang dikira. Gelung berterusan sehingga 'nilai2' menjadi 0, pada ketika itu GCD telah ditemui dengan algoritma Euclidean. Akhir sekali, kembalikan 'value1' kepada fungsi 'find_GCD'.

int cari_GCD ( int nilai1, int nilai2 ) {
jika ( nilai2 > nilai1 ) {
bertukar-tukar ( nilai1, nilai2 ) ;
}
sementara ( nilai2 ! = 0 ) {
int baki = nilai1 % nilai2 ;
nilai1 = nilai2 ;
nilai2 = baki ;
}

kembali nilai1 ;
}

Di dalam ' utama() fungsi ”, diisytiharkan “ nombor1 ” dan nombor1 ” pembolehubah. Kemudian, gunakan ' cout ” kenyataan untuk mendapatkan input daripada pengguna. Seterusnya, ' makan Objek ” digunakan untuk membaca integer yang dimasukkan daripada input standard dan menyimpannya dalam pembolehubah “num1” dan “num2”. Selepas itu, dipanggil ' find_GCD() ' kaedah yang mengambil 'num1' dan 'num2' sebagai parameter, dan menyimpan keputusan dalam ' my_result ” pembolehubah. Akhir sekali, gunakan ' cout ' dengan ' << ” operator sisipan untuk mencetak anggaran GCD pada konsol:

int utama ( ) {
int nombor1, nombor2 ;
cout << 'Masukkan dua nombor' << endl ;
makan >> nombor1 >> nombor2 ;

int my_result = cari_GCD ( nombor1, nombor2 ) ;
cout << 'GCD dua integer menggunakan Algoritma Euclidean: ' << my_result << endl ;

kembali 0 ;
}

Pengeluaran

Kaedah 2: Cari GCD Secara Rekursif dalam C++

Kaedah lain untuk mengira GCD dalam C++ adalah secara rekursif menggunakan pernyataan if. Mari lihat contoh program mudah yang diberikan di bawah dalam C++.

Dalam kod di bawah, tentukan ' hitung_Gcd() ” fungsi untuk mengira GCD bagi dua nombor. Ia memerlukan dua parameter integer, ' a ” dan “ b ”. Ia akan menyemak sama ada ' b 'sama dengan' 0 ”, kemudian kembalikan “ a ”. Jika tidak, ' hitung_Gcd() 'fungsi secara rekursif memanggil dengan parameter' b ” dan “ a%b ”:

#include
menggunakan ruang nama std ;
int hitung_Gcd ( int a, int b )
{
jika ( b == 0 )
kembali a ;
kembali hitung_Gcd ( b, a % b ) ;
}

Seterusnya, isytiharkan pembolehubah 'num1' dan 'num2' di dalam ' utama() ” fungsi. Selepas ini, gunakan ' cout pernyataan untuk memaparkan ' Masukkan dua nombor 'mesej, kemudian ' makan ” objek membaca dan menyimpan pembolehubah yang dimasukkan oleh pengguna. Melangkah ke hadapan, menyeru “ hitung_Gcd() fungsi ” dengan nilai input “num1” dan “num2”. Disimpan di dalam ' hasil ' pembolehubah dan menggunakan ' cout ” untuk memaparkan nilai terhasil:

int utama ( )
{
int nombor1, nombor2 ;
cout << 'Masukkan dua nombor:' <> nombor1 >> nombor2 ;
int hasil = hitung_Gcd ( nombor1, nombor2 ) ;
cout << 'GCD dua nombor menggunakan Kaedah Rekursif ' << hasil << endl ;
kembali 0 ;
}

Pengeluaran

Kaedah 3: Cari GCD Menggunakan untuk Gelung dalam C++

Program yang diberikan di bawah menggunakan gelung 'untuk' untuk menemui pembahagi sepunya terbesar:

#termasuk
menggunakan ruang nama std ;
int utama ( ) {
int nilai1, nilai2, gcd ;
cout << 'Masukkan dua nilai jenis integer' <> nilai1 >> nilai2 ;
jika ( nilai2 > nilai1 ) {
int temp = nilai2 ;
nilai2 = nilai1 ;
nilai1 = temp ;
}

untuk ( int i = 1 ; i <= nilai2 ; ++ i ) {
jika ( nilai1 % i == 0 && nilai2 % i == 0 ) {
gcd = i ;
}
}
cout << 'GCD daripada dua nilai menggunakan untuk Gelung: ' << gcd ;

kembali 0 ;
}

Dalam kod di atas, pertama, nyatakan tiga pembolehubah integer ' nilai1 ”, “ nilai2 ”, dan “ gcd ' di dalam ' utama() ” fungsi. Seterusnya, gunakan ' cout ” objek untuk mendapatkan nilai input daripada pengguna. Nilai input pengguna disimpan dalam 'nilai1' dan 'nilai2' menggunakan ' >> ” operator dengan “ makan ” objek. Kemudian, gunakan ' jika pernyataan untuk menyemak sama ada nilai1 ” ialah “ > ” daripada “ nilai2 ” dengan menyemak sama ada “ temp ' pembolehubah memegang 'nilai2' dan kemudian menetapkannya kepada 'nilai1' kepada 'nilai2' dan 'temp' kepada 'nilai1'. Selepas ini, gelung 'untuk' berulang sehingga bahagian dalam ' jika ” syarat puas hati. Akhir sekali, gunakan ' cout ” kenyataan untuk mencetak keputusan. Seperti berikut:

Anda telah mempelajari tentang kaedah pengaturcaraan C++ untuk mencari GCD.

Kesimpulan

GCD ialah konsep matematik penting yang membantu pengguna menentukan integer positif terbesar yang membahagikan kedua-dua nombor tanpa sebarang baki di belakang. Pelbagai kaedah digunakan untuk mencari GCD dalam C++, seperti “ Algoritma Euclidean”, “ rekursif ”, dan “ untuk ” gelung. Dalam panduan ini, kami telah menggambarkan kaedah pengaturcaraan C++ untuk mencari GCD.