Форум программистов, компьютерный форум CyberForum.ru

Что делает этот код? - C++

Восстановить пароль Регистрация
 
Bringoff
СуперМодулятор
 Аватар для Bringoff
132 / 131 / 15
Регистрация: 03.11.2012
Сообщений: 974
30.11.2012, 21:50     Что делает этот код? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
int main()
{
  long long n;
  cin>>n;
  int res[10]={0};
  vector <int> ans;
  if(n==0){cout<<10;return 0;}
  if(n<10) {cout<<n;return 0;}
  for(int i=9;i>=2;i--)
  {
    while(n%i==0)
        {res[i]++;
         n/=i;
        }
 
 
  }
  if(n!=1){cout<<-1;return 0;}
  for(int i=0;i<10;i++)
  while(res[i]){
    ans.push_back(i);
    res[i]--;
  }
  sort(ans.begin(),ans.end());
  for(int i=0;i<ans.size();i++)cout<<ans[i];
  return 0;
}
Только начал учить плюсы и многое непонятно. Что этот код делает? Интересует алгоритм.
Если что, это решение этой задачи:
Кликните здесь для просмотра всего текста
Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.
Пример: Ввод - "10"; Вывод - "25"


Добавлено через 1 час 27 минут
Хм... Не один я не понимаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 21:50     Что делает этот код?
Посмотрите здесь:

Что делает этот участок кода? C++
Что означает этот код C++
Что делает следующий код программы? C++
Пояснить что делает код C++
C++ Скажите, что делает данный код?
Что делает код? C++
Что примерно делает этот код (из HexRays) C++
обьясните пожалуйста что делает этот кусок кода с++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
30.11.2012, 23:29     Что делает этот код? #2
А в чём проблемы понимать-то? Число N раскладывается на множители, которые затем сортируются в порядке возрастания, что даёт искомый результат. Ну и плюс проверки на корректность.
Bringoff
СуперМодулятор
 Аватар для Bringoff
132 / 131 / 15
Регистрация: 03.11.2012
Сообщений: 974
01.12.2012, 10:59  [ТС]     Что делает этот код? #3
Вообще так и думал...
Yandex
Объявления
01.12.2012, 10:59     Что делает этот код?
Ответ Создать тему
Опции темы

Текущее время: 09:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru