Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
virtuos553
49 / 4 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
1

Разложить число на два множителя всевозможными вариантами

15.12.2014, 10:03. Просмотров 1363. Ответов 5
Метки нет (Все метки)

Например есть число 8, его нужно представить как

2*4
4*2
Число 16 нужно представить как

2*8
4*4
8*2
число 9 предсавляеется только как
3*3

Помогите написать эффективный алгоритм нахождения всех пар таких чисел ( единицы не в счет)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2014, 10:03
Ответы с готовыми решениями:

Разложить число на два простых множителя
Разложить число на два простых множителя

Разложить одно число на два множителя
Как разложить одно число на два множителя У меня просто 2 и более раскладывает а нужно вводим...

Разложить число на два разных mysql
Добрый день! Подскажите пожалуйста, как в mysql можно одно число разложить на два? К примеру число...

Разложение на два множителя
Нужно разложить число на два множителя. (множитель одна цифра) 32=4*8 81=9*9 8=8*0 etc

Задана запись с вариантами, имеющая два поля длиной два байта (Integer) каждое. Получить их значения побайтно
Задана запись с вариантами, имеющая два поля длиной два байта (тип Integer) каждое. Получить...

5
SlavaSSU
219 / 164 / 47
Регистрация: 17.07.2012
Сообщений: 587
15.12.2014, 10:13 2
virtuos553, ну надо найти все делители числа. это можно сделать перебирая потенциальный делитель до корня из числа.
1
virtuos553
49 / 4 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
15.12.2014, 11:46  [ТС] 3
интересует именно , как разложив число на составные множители, найти всевозможные пары по два
например , если число 28, я нашел 2,2,7
из них не надо сделать такие пары (2;14) ; (14;2); (4;7);(7;4)
0
SlavaSSU
219 / 164 / 47
Регистрация: 17.07.2012
Сообщений: 587
15.12.2014, 11:50 4
virtuos553, из них НЕ надо, или из них МНЕ надо?

для числа 36 что надо вывести(2 * 2 * 3 * 3 == 36).
2
D_in_practice
334 / 334 / 331
Регистрация: 02.10.2014
Сообщений: 666
15.12.2014, 12:20 5
Начиная с 1 - го
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main(){
    
    int n;
    std::cout << "n = ";
    std::cin >> n;
    
    for (int i = 1; i <= n; ++i)
        if (n%i == 0)
            std::cout << "n = " << i << "*" << n/i << std::endl;
}
Начиная с 2-х
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main(){
    
    int n;
    std::cout << "n = ";
    std::cin >> n;
    
    for (int i = 2; i <= n/2; ++i)
        if (n%i == 0)
            std::cout << "n = " << i << "*" << n/i << std::endl;
}
1
virtuos553
49 / 4 / 0
Регистрация: 18.12.2012
Сообщений: 247
Записей в блоге: 1
15.12.2014, 13:01  [ТС] 6
прошу прощения, МНЕ надо)
0
15.12.2014, 13:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2014, 13:01

Найти число разложений числа на 2 множителя
Допустим вводят произвольное число с клавиатуры и надо вывести сколькими способами можно в...

Разбейте заданное число на 2 множителя всеми возможными способами
Разбиения, отличающиеся лишь порядком множителей, разными не считаются.

Как сделать два разных стартера для приложения с разными вариантами запуска?
Вопрос такой: как сделать два разных стартера для приложения с разными вариантами запуска. К...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.