Программа LCM в переполнении стека

#include <iostream>
using std::cout;
using std::cin;

int main()
{

int num1 = 0;
int num2 = 0;

cout << "Please enter two numbers (remember to put
a space between them):\n";

cin >> num1 >> num2;

const int num_limit = num1 * num2;

for (int i = 1; i <= num_limit; i++)
{
int product = num1 * i;
int product2 = num2 * i;

// test for when multiples are equal
if (product == product2)
{
cout << "The LCM of " << num1 << " and " <<
num2 << " is: ";
}

}
}

Я пытаюсь получить LCM из двух целых чисел, которые вводит пользователь. Оператор if внутри цикла for не выполняет то, что я намеревался сделать, поскольку ничего не выводится, когда product и product2 равны. Каково решение этой маленькой проблемы?

-2

Решение

Попробуйте это

//#include "stdafx.h"#include <iostream>
#include <conio.h>
using std::cout;
using std::cin;

int main()
{

int num1 = 0;
int num2 = 0;

cout << "Please enter two numbers (remember to put a space between them):\n";

cin >> num1 >> num2;

int num_limit = num1 * num2,LCM;
for (int i = 1; i <= num_limit; i++)
{
LCM = num1 * i;

// test for when multiples are equal
if (LCM%num2==0) break;
}
cout << "The LCM of " << num1 << " and " << num2 << " is: " << LCM;
_getch();// replace with getch(); if didn't work
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]