Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_06_12 - Jasio, Stasio i ich zakład |
Jasio i Stasio są wielkimi fanami angielskiej Premier League. Cały tydzień czekali na niedzielę, kiedy to miały się odbyć 2 derbowe spotkania – Derby Manchesteru (Manchester United – Manchester City) oraz rozpoczynające się zaraz po nich Derby Merseyside (Everton – Liverpool FC). Obaj chcieli obejrzeć te mecze, lecz przypomniało im się, że nie odrobili jeszcze pracy domowej z informatyki. Na ich nieszczęście jest ona dość czasochłonna, przez co muszą sobie odpuścić obejrzenie meczu pomiędzy drużynami z Liverpoolu. Jej treść wygląda następująco:
Dla zadanej liczby a znajdź wszystkie permutacje składające się z cyfr tej liczby (jeśli jakaś cyfra powtórzyła się co najmniej raz to do tworzenia permutacji należy wykorzystać ją jednokrotnie), a następnie wypisz je malejąco względem ilości dzielników dla danej permutacji. Natomiast jeśli kilka permutacji ma tyle samo dzielników, wypisujemy je malejąco. Permutacje wypisujemy oczywiście bez zer wiodących.
Jasio i Stasio wpadli na ciekawy pomysł. Obstawili zwycięzcę pierwszego meczu i zadecydowali, że ten, który poprawnie obstawił będzie mógł spokojnie obejrzeć drugi mecz, natomiast przegrany będzie musiał zrobić zadanie domowe i przedstawić je koledze. Jasio, jako kibic Manchesteru United, obstawił wygraną „Czerwonych Diabłów”, natomiast Stasio postawił na zwycięstwo „Obywateli”. Zasiadli więc przed ekranami telewizorów i kibicowali swoim ulubieńcom. Po ponad półtora godzinnej walce zwycięsko z boiska zeszła drużyna z czerwonej części Manchesteru, która pokonała swoich sąsiadów 4:1. Bramki strzelali dla gospodarzy: Wayne Rooney, Zlatan Ibrahimović, Antonio Valencia oraz Juan Mata, zaś dla gości bramkę honorową zdobył Sergio Aguero. Stasio był bardzo zasmucony faktem, że przegrał zakład. Od razu po Derbach Manchesteru poszedł rozwiązywać zadanie domowe, zaś Jasio cieszył się oglądając drugie spotkanie derbowe.
Twoim zadaniem jest wcielić się w rolę Stasia i napisać program, który rozwiąże zadany problem.
Wejście
W pierwszym wierszu znajduje się liczba całkowita n(0<n<11) oznaczająca ilość liczb. Następnie w każdej z następnych n linii znajduje się jedna liczba całkowita a(0<a≤109).
Wyjście
Dla każdej liczby należy wypisać wszystkie permutacje zgodne z treścią zadania w formacie liczba_ilość dzielników. Dodatkowo po wypisaniu wszystkich permutacji dla każdej liczby znajduje się pusty wiersz.
Przykład
Input: 2
336
24 Output: 36 9
63 6
42 8
24 8
Dodane przez: | Dawid Sowiński |
Data dodania: | 2016-10-17 |
Limit czasu wykonania programu: | 1s-2s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |