C ++-成对显示的整数的因数

时间:2018-09-03 04:08:07

标签: c++ algorithm factors

我有显示输入整数的因子的代码:

#include <iostream>
using namespace std;

int main() {

    int value;
    cout << "Enter a value ";
    cin >> value;

    for (int i = 1; i <= value; i++) {
        if(value % i == 0) {
            cout << i << " ";
        }
    }
}

显示

1 2 3 6

如果输入的是6

但是,我不太确定如何获得结果

2,3||1,6||

任何人都可以提供有关如何实现此目标的提示吗?


我的教授正在研究MOD,所以我不确定这是否需要尚未涉及的主题。

2 个答案:

答案 0 :(得分:5)

按如下所示更改您的代码:

for (int i=1;i<=sqrt(value);i++){
        if(value%i==0){
        cout<<i<<","<<value/i;
    }

<math.h>包括sqrt()

或者您可以使用i * i <= value

答案 1 :(得分:0)

将这些结果存储在数组中。
对该数组中的元素执行另一操作,以找出其乘积等于给定输入的对。

例如:将1、2、3、6存储在数组中
对这些元素执行操作
1 * 6 == 6 || 2 * 3 == 6
显示这些对。