Compétition, PHP

Cooking the Books – Facebook Hacker Cup 2015

Ce week-end pendant que je trainais sur Facebook mon ami Hmimed m’a envoyé un message me rappelant que la compétition Facebook hacker Cup est lancée !

Comme on le sait tous, Facebook Hacker Cup est un concours international de programmation organisé et administré par Facebook. La compétition a commencé en 2011 comme un moyen d’identifier les meilleurs talents en développement pour un emploi potentiel chez Facebook.

La compétition se compose d’un ensemble de problèmes algorithmiques qui doit être résolu dans un laps de temps déterminé. Les concurrents peuvent utiliser n’importe quel langage et de programmation ou environnement de développement du pour obtenir leurs solutions.

Dans cet article nous allons discuter du problème N°1 proposé par Facebook sous le nom de « Cooking the Books »

Voici l’énoncé du problème :

Every business can make use of a good accountant and, if they’re not big on following the law, sometimes a bad one. Bad accountants try to make more money for their employers by fudging numbers without getting caught.

Sometimes a bad accountant wants to make a number larger, and sometimes smaller. It is widely known that tax auditors will fail to notice two digits being swapped in any given number, but any discrepancy more egregious will certainly be caught. It’s also painfully obvious when a number has fewer digits than it ought to, so a bad accountant will never swap the first digit of a number with a 0.

Given a number, how small or large can it be made without being found out?

Input

Input begins with an integer T, the number of numbers that need tweaking. Each of the next T lines contains a integer N.

Output

For the ith number, print a line containing “Case #i: ” followed by the smallest and largest numbers that can be made from the original number N, using at most a single swap and following the rules above.

Constraints

1 ≤ T ≤ 100
0 ≤ N ≤ 999999999
N will never begin with a leading 0 unless N = 0

 

Donc en sachant que la 1ère ligne contient le nombre T qui est le total des tests qu’on doit effectuer (total des nombres proposés), on nous demande de créer un script qui nous permet de calculer le plus petit et le plus grand nombre (qui ne commencent pas par zéro “0”) qui peuvent être créés à partir du nombre N original en utilisant une seul permutation au maximum et en suivant les contraintes indiqués, exemple :

hackercup

Explication:

 

 

 

Code source :

Standard

2 thoughts on “Cooking the Books – Facebook Hacker Cup 2015

Leave a Reply