如何打印两个数字的常见倍数?

时间:2015-07-26 21:49:03

标签: c++

我正在尝试打印小于某个限制的两个整数的所有常见倍数(在我的情况下为100)。但是,当我调用我的函数时,它什么也没做。这是我的代码:

void com_mul(int a, int b)
{
    int original = b;

    for(int i = 1; a <= 100; i++)
    {
        a *= i;
        b = original;
        for(int j = 1; b <= a; j++)
        {
            b *= j;
            if(a == b)
                cout << b << ", ";
        }
    }
}

2 个答案:

答案 0 :(得分:1)

使用单个循环可以更简单地解决这个问题。

for循环中,从1到100迭代可能的除数d。如果d除以ab,请打印{{1} }。

您可以通过应用d运算符并将结果检查为零来判断数字是否除以另一个数字:

%

答案 1 :(得分:0)

在我的计算机上使用a = 4, b = 2, max = 100进行了测试。它输出4。 这是因为行for (int j = 1; b <= a; j++)j只能进入&#39;

我认为这样做。

#include <iostream>
#include <string>

int main()
{
    int a, b, max;

    std::cin >> a >> b >> max;

    for (int i = a; i <= max; i++)
    {
        if (i%a == 0 && i%b == 0)
            std::cout << i << std::endl;
    }

    return 0;
}