我有显示输入整数的因子的代码:
#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,所以我不确定这是否需要尚未涉及的主题。
答案 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
显示这些对。