İki ədədin əbob-unun c++ da yazılması.

ƏBOB. Salam iki ədədin əbobunun tapılması proqramı c++ da necə yazılır? .

Verilmiş cavablar və yazılan şərhlər (6 cavab var)

saidnagi (2018-06-15 23:05:37)
sadece funksiya ile ebob = __gcd(a,b); :) kitabxanasini qeyd eleyin [code] #include #include using namespace std; int main() { cout << __gcd(100,24); return 0; } [/code]

ahmed (2017-04-08 11:13:36)
P.S. - Cavablar.net -ə müraciət. 1) Kodun sintaksis rəngləməsi imkanını əlavə etmək 2) Kansol çıxış nəticələrini daxil etmək üçün teq əlavə etmək 3) Mənbə kodu buferə köçürmək üçün düymə əlavə etmək

ahmed (2017-04-08 11:11:20)
[code]//iki ededin EBOB -nu hesablamaq ucun proqram #include using namespace std; int main() { //ededleri yadda saxlamaq ucun int a, b; //bolenlerin yadda saxlamaq ucun int bola[100], bolb[100]; //bolenlerin sayini yadda saxlamaq ucun int bola_say, bolb_say; //ortaq bolenleri yadda saxlamaq ucun cerge ve say int ort[100], ort_say; //ebob int ebob; //saygac int i, j; //ededleri istifadecinden alaq cout <> a >> b; //birinci ededin bolenlerini ve sayini hesablayaq bola_say = 0; i = 2; while (a != 1) { while (a%i == 0) { bola[bola_say] = i; bola_say++; a /= i; } i++; } //birinci ededin bolenlerini cap ededk cout << "\nBirinci ededinin bolenleri: \n"; for (i = 0; i < bola_say; ++i) cout << bola[i] << " "; cout << "\n"; //ikinci ededin bolenlerini ve sayini hesablayaq bolb_say = 0; i = 2; while (b != 1) { while (b%i == 0) { bolb[bolb_say] = i; bolb_say++; b /= i; } i++; } //ikinci ededin bolenlerini cap ededk cout << "\nIkinci ededinin bolenleri: \n"; for (i = 0; i < bolb_say; ++i) cout << bolb[i] << " "; cout << "\n"; //her iki ededin bolenleri arasinda ortaq olanlari ve sayini tapaq //bunun ucun ikiqat dovrden istifade etmeliyik //eyni ortaq boleni iki defe hesablamamaq ucun tapdiqdan sonra //1-e menimsedeceyik ort_say = 0; for (i=0; i<bola_say; ++i) for (j=0; j<bolb_say; ++j) if (bolb[j] == bola[i]) { ort[ort_say] = bolb[j]; bolb[j] = 1; ort_say++; break; } //ortaq bolenleri cap edek cout <<"\nHer iki ededin ortaq bolenleri: \n"; for (i = 0; i < ort_say; ++i) cout << ort[i] << " "; //ortaq bolenlerin hasilini, yeni ebob -u tapaq ebob = 1; for (i = 0; i < ort_say; ++i) ebob *= ort[i]; cout <<"\n\nHer iki ededin EBOB -u = " << ebob; return 0; }[/code] Icra nəticəsi: Zehmet olmasa her iki ededi daxil edin 48 72 Birinci ededinin bolenleri: 2 2 2 2 3 Ikinci ededinin bolenleri: 2 2 2 3 3 Her iki ededin ortaq bolenleri: 2 2 2 3 Her iki ededin EBOB -u = 24

ahmed (2017-04-08 11:10:04)
Proqram düz işləyir, amma 8-ci sətirdə sintaksis səhv var [code] cout a >> b;[/code] əvəzinə [code] cin >> a >> b;[/code] olmalıdır. Həm də sadəcə həlli vermək düzgün deyil, imkan daxilində alqoritmi də izah etmək yaxşı olar.

ElZahir (2017-04-07 13:40:24)
[code]#include using namespace std; int main() { int a, b; cout <> a >> b; while(a != b) { if(a > b) a -= b; else b -= a; } cout << "EBOB = " << a; return 0; }[/code]

ElZahir (2017-04-07 13:32:20)
Salam. Buyurun. Rekursiya ilə həll. [code]#include using namespace std; int NOD (int a, int b) { while (a != b) { if (a > b) a -= b; else b -= a; } return a; } int main () {long long int n,m,a; cin>>n>>m; a=NOD (n, m); cout<<a<<endl; return 0; }[/code]

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

C++ vurma cədvəli

Proqramlaşdırma

Proqramlaşdırmaya aid 4 sual

C# qisa anlatim

C#-da prosesə progress bar qoşmaq

Dövrdə problem