Так что у меня проблема с моим кодом здесь.Самый большой общий делитель с использованием евклидова алгоритма?
Я кодирую самый большой общий делитель, используя алгоритм Евклида, и я не могу использовать цикл, чтобы сохранить разделение, чтобы он повторялся до тех пор, пока я не получу наибольший общий делитель. Так что пока я могу получить остаток, но не знаю, как идти дальше оттуда в основном.
Любая помощь будет принята с благодарностью!
Вот то, что я до сих пор
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int a;//Holds the first number
int b;//Holds the second number
int temp;//Assign to greatest number
int hold;//Assign to smaller number
float euclid;//soon to be function?
int leftover;
float gcd;
int main()
{
cout<<"Welcome to Brian Garnadi's Version of GCD!\n"<<endl;
cout<<"Enter the first integer to be calculated: ";
cin>> a;
cout<<"Now enter the second integer: ";
cin>>b;
if (a>b)//Determines bigger number
{temp=a;
hold=b;
}
if (a<b)//Determines smaller number
{
temp=b;
hold=a;
}
leftover= temp%hold;
cout<<"\nThe remainder of the two numbers divided is "<<leftover<<".\n"<<endl;
}
Я не вижу петлю в примере кода. Если (a> b), то просто поменяйте a и b. Нет необходимости во втором случае. – rcgldr
Ваш код также не работает, если a = b – stark