Даны четыре натуральных числа. Найти наибольший общий делитель (НОД) для этих четырех чисел. Поиск НОД двух чисе л оформить функцией. На языке c++
Answers & Comments
БезликийNoName
Int gcd(int a, int b){ return b ? gcd(b, a%b) : a; } Это красивая реализация в виде тернарной строчки. Рекурсивная функция.
int gcd(int a, int b){ if (b) return gcd(b, a%b); else return a; } Это тоже рекурсивная функция, просто не с тернарной строчкой, а с ифом.
int gcd(int a, int b){ while (b){ swap(a,b); b%=a; } return a; } Это реализация циклом. Нерекурсивная функция.
Вот, среди них можешь выбрать любую функцию, которая тебе больше нравится. Теперь программа. #include<iostream> using namespace std; int gcd(int a, int b){ //скопипастишь любую понравившуюся } int main(){ int a,b,c,d; cin>>a>>b>>c>>d; cout<<gcd(gcd (a,b), gcd(b,c)); return 0; }
Answers & Comments
return b ? gcd(b, a%b) : a;
}
Это красивая реализация в виде тернарной строчки. Рекурсивная функция.
int gcd(int a, int b){
if (b)
return gcd(b, a%b);
else
return a;
}
Это тоже рекурсивная функция, просто не с тернарной строчкой, а с ифом.
int gcd(int a, int b){
while (b){
swap(a,b);
b%=a;
}
return a;
}
Это реализация циклом. Нерекурсивная функция.
Вот, среди них можешь выбрать любую функцию, которая тебе больше нравится. Теперь программа.
#include<iostream>
using namespace std;
int gcd(int a, int b){
//скопипастишь любую понравившуюся
}
int main(){
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<gcd(gcd (a,b), gcd(b,c));
return 0;
}
Удачи❤