алгоритм — коэффициенты целого числа, отображаемого в парах

У меня есть код, который отображает факторы введенного целого числа:

#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, поэтому я не уверен, требует ли это темы, которая еще не была рассмотрена.

1

Решение

Измените свой код следующим образом:

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

Включают <math.h> за sqrt()

Или вы могли бы использовать i * i <= value

5

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

Сохраните эти результаты в массиве.
Выполните другую операцию над элементами в этом массиве, чтобы узнать пары, произведение которых равно заданному входу.

Например: хранить 1, 2, 3, 6 в массиве
Выполните операции над этими элементами
1 * 6 == 6 || 2 * 3 == 6
Покажите эти пары.

0

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