Найти LCM из двух чисел
Сначала программа должна попросить меня ввести, сколько раз она должна запросить у меня два числа. После того, как я дам два числа, он должен найти LCM из них и выполнить операцию столько раз, сколько я ввел в начале.
Он открывается и ждет от меня, чтобы дать номера и ничего не делает.
#include <iostream>
using namespace std;
int ile ;
int grupa1, grupa2 ;
int wynik ;
int dzielnik = 0;
int main()
{
cin >> ile ;
for (int i=0; i <= ile ; i++ )
{
cin >> grupa1 >> grupa2 ;
do
{
do
{
dzielnik ++ ;
} while ((dzielnik % grupa1 != 0 && dzielnik % grupa2 !=0 ) || dzielnik < grupa1 + grupa2) ;
if (dzielnik % grupa1 == 0 && dzielnik % grupa2 == 0 )
{
grupa1 = grupa1 / dzielnik ;
grupa2 = grupa2 / dzielnik ;
}
else if (dzielnik >= grupa1 + grupa2)
{
wynik = grupa1 * grupa2 ;
cout << wynik ;
}
}
while (wynik == grupa1 * grupa2) ;
dzielnik = 0;
}
return 0;
}
1 ответ
cout
находится в буфере и не будет ничего отображать, пока 1) не будет предоставлено достаточно данных или 2) не будет сброшено.
Измените эту строку:
cout << wynik ;
К этому:
cout << wynik << endl;
И вы должны увидеть некоторые результаты.
Кроме того, вы должны рассмотреть возможность исправления отступа. В настоящее время это очень вводит в заблуждение. Главный for
выстраивается с while
и внутренний do
выстраивается с else if
,