Решение задачи Произведение цифр с Timus

Без пояснения   Просмотров: 30


Ваша задача — найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N.

Код

#include <iostream>
 
using namespace std;
int main()
{
    int n;
    cin >> n;
    if(0 == n){
        cout << 10;
        return 0;
         
    }
    if(n == 1){
        cout << 1;
        return 0;
         
    }
     
    unsigned long a[10];
    for(int i =  0; i < 10; ++i)
        a[i] = 0;
    for(int i = 9; i > 1; --i){
        while(!(n % i)){
            n/=i;
            a[i]++;
        }
    }
    if(n == 1){
        for(int i = 2; i <= 9; ++i){
            while(a[i]){
                a[i]--;
                cout << i;
            }
        }
    }
    else
        cout << -1;
    return 0;
}   

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться