Top 20

1 0x00h 701 pts
2 boris39 701 pts
3 neoxquick 682 pts
4 maf-ia 663 pts
5 thefinder 645 pts
6 benito255 609 pts
7 mego 592 pts
8 madbat2 581 pts
9 Mart 554 pts
10 tehron 504 pts
11 Kithyane 503 pts
12 egosum 474 pts
13 plucth 447 pts
14 Undr 416 pts
15 Zeta 416 pts
16 CoYoTe99 416 pts
17 loonies2 412 pts
18 Armavica 411 pts
19 vitalimarrenra 404 pts
20 b0n0n 397 pts

Classement complet

Shoutbox

15 Jul - 8:43 pm

Cool !! Merci beaucoup !!

9 Jul - 11:20 pm

Hello, je regarde ça dès que je peux, probablement demain

9 Jul - 5:54 pm

Bonjour à tous, Je rencontre le même problème que "Foo". Impossible de valider des nouveaux challs, et impossible d'en revalider des anciens... D'avance merci :)

8 Jul - 1:38 pm

Hello. C'est normal que j'arrive pas à valider quoi que ce soit ? La page validation.php renvoie toujours un contenu vide. Même quand j'utilise le code d'exemple donné.

3 Apr - 12:45 pm

Bonjour metatr0n, pas besoin besoin restaurer mon compte précédent puisque j'ai pu revalider les épreuves avec le nouveau :) Si le système de mail ne fonctionne plus, il est probable que l'épreuve "Email (21)" soit également impactée. Au passage je te signale un potentiel problème de précision numérique avec l'épreuve "Polynomial regression (25)" nécessitant plusieurs essais pour valider l'épreuve. Lorsque je vérifie mon polynôme en local (double C++), je respecte pourtant la tolérance de précision. Merci pour les épreuves, je me régale ! :)

26 Mar - 6:14 pm

Bonjour, effectivement notre système de mail a l'air d'être en vrac, si tu veux récupérer ton compte je peux te réinitialiser ton mot de passe à la main

17 Mar - 5:36 pm

Bonjour, l'envoi d'email du système de ré-initialisation de mot de passe semble ne pas marcher (mail orange.fr). J'ai pourtant attendu et vérifié mes spams. J'ai du créer un compte "loonies2" en remplacement de "loonies".

11 Feb - 8:21 pm

Bonjour, oui bien sûr, on peut utiliser n'importe quel langage

9 Feb - 11:30 pm

Bonjours, on peut utiliser python 3 ?

26 Jan - 2:06 pm

Hi, that's right, I'm gonna look into it, thanks

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Divers :: Card Trick (46)

Résumé

ID : 46
Points : 15
Validations :
Page de l'épreuve
Reporter un bug

Description


Merci à boris39 pour cette épreuve !

Dans cette épreuve, vous allez enfiler la robe d'un magicien des cartes. Vous allez devoir retrouver la séquence de cartes initiale, qui a donné lieu à une séquence de cartes finale proposée par votre auditoire.

Déroulement du tour

Vous proposez a votre auditoire de sélectionner un nombre N de cartes dans un jeu de 52 cartes.

Exemple : L’auditoire prend N = 10 cartes

Vous lui demandez d’aligner ces N cartes devant vous, faces visibles.

Exemple : L’auditoire pose devant vous les 10 cartes de la façon suivante :



Vous lui demandez également d’inscrire sur une feuille une liste de N-2 chiffres, chaque chiffre pouvant prendre la valeur de 1 , 2 ou 3 .

L’auditoire inscrit la liste de 8 chiffres suivante :

3-1-3-2-3-2-2-1

Vous prenez un deuxième jeu de cartes, vous y récupérez les dix mêmes cartes que celles sélectionnées par votre auditoire. Puis vous rangez ces 10 cartes dans un ordre précis et dont vous seul (grand magicien que vous êtes) connaissez le secret de la méthode de tri.

Vous formez donc avec ces cartes triées un tas que vous prenez dans votre main, faces cachées.

Vous retournez la carte sur le dessus du tas et la posez sous la 1ere carte placée par votre auditoire :

Vous retournez un 7 de trèfle :



Vous observez le 1er chiffre écrit sur la feuille : il s’agit d’un 3.

Vous effectuez donc 3 fois la manipulation suivante : vous prenez la carte sur le dessus de votre tas, et la passez sous votre tas, en la gardant face cachée.

Vous retournez ensuite la carte sur le dessus de votre tas et la posez sous la 2eme carte placée par votre auditoire :

Vous retournez un As de pique :



Vous observez le 2er chiffre écrit sur la feuille : il s’agit d’un 1.

Vous effectuez donc 1 fois la manipulation suivante : vous prenez la carte sur le dessus de votre tas, et la passez sous votre tas, en la gardant face cachée.

Et ainsi de suite, jusqu’à ce qu’il ne reste que deux cartes faces cachées dans votre tas. Vous retournez alors la carte du dessus du tas et la placez sous l’avant dernière carte de l’auditoire, puis vous retournez votre dernière carte et la placez sous la dernière carte de l’auditoire.

Vous obtenez ainsi la même séquence que celle de l’auditoire :



Déroulement de l’épreuve

Vous recevez le nombre de cartes sélectionnées par l’auditoire dans la variable nb_of_cards. Ce nombre peut varier de 20 à 52 cartes (jeu complet).
Vous recevez également la séquence de cartes finale proposée par l’auditoire sous la forme d’une chaine de caractères, dans la variable final_sequence.

Chaque nom de carte et représenté par la première lettre de sa couleur + un chiffre/mot pour sa valeur (attention noms anglais des couleurs et des valeurs).
Exemple : C_7 représente le 7(valeur) de trèfle(couleur, en anglais Clubs)
D_Jack représente le valet(valeur) de carreau(couleur, en anglais Diamonds)

Pour la séquence proposée en exemple :



Vous recevriez la chaine suivante :

final_sequence = “C_7;S_Ace;D_10;H_2;C_5;H_8;D_Jack;C_4;C_6;S_7”

Enfin, vous recevez la liste de chiffres écrite par l’utilisateur sous la forme d’une chaine de caractères, dans la variable cards_passed.

Pour la liste proposée en exemple : 3-1-3-2-3-2-2-1

Vous recevriez la chaine suivante :

cards_passed = “3;1;3;2;3;2;2;1”

Vous devez alors retourner la séquence initiale des cartes, telle que vous l’auriez préparée (votre tas faces cachées), pour effectuer votre tour.
Vous devez retourner cette séquence dans la variable initial_sequence, sous la forme d’une chaine de caractères formatée comme la séquence finale.

Pour l’exemple proposé vous auriez eu à retourner la chaine suivante :

Initial_sequence = “C_7;H_2;H_8;C_6;S_Ace;C_5;D_10;C_4;D_Jack;S_7“


Variables


Nom Type Description
Variables à récupérer
nb_of_cardsEntierintNombre de cartes utilisées pour le tour
final_sequenceChaîne de caractèreschar*L'ordre final des cartes posées sur la table, de gauche à droite
cards_passedChaîne de caractèreschar*Nombre de cartes passées sous le tas à chaque étape
Variables à renvoyer
initial_sequenceChaîne de caractèreschar*L'ordre initial des cartes, faces cachées , du haut au bas du tas