Trois nombres = 1 nombre unique

Olympiades mathématiques, énigmes et défis
arcanis
Membre Naturel
Messages: 11
Enregistré le: 28 Avr 2008, 20:31

trois nombres = 1 nombre unique

par arcanis » 28 Avr 2008, 20:36

Salut!
Pour la réalisation d'un programme, je doit trouver un moyen simple de combiner trois nombre pour en obtenir un quatrième qui ne puisse être obtenu qu'avec cette combinaison de trois. J'ai essayé de trouver une opération, mais je bloque un peu...
Par exemple, si on a 45, 27 et 33, impossible de les mettre côte-à-côte pour obtenir 452733: on obtiendrait le même nombre avec 4, 52 et 733.
Est-ce que mon idée est techniquement possible (en utilisant +*-/ et ^)?
désolé si je ne suis pas très précis...

Merci d'avance!


(si vous trouvez et s'il y a une démonstration je suis partant :++: )



Imod
Habitué(e)
Messages: 6476
Enregistré le: 12 Sep 2006, 12:00

par Imod » 28 Avr 2008, 20:43

Si ton problème est de retrouver les trois nombres de départ à partir du quatrième , c'est clairement impossible .

Imod

_-Gaara-_
Membre Complexe
Messages: 2813
Enregistré le: 03 Nov 2007, 15:34

par _-Gaara-_ » 28 Avr 2008, 20:50

Salut Imod,

je crois que son problème serait plutôt de trouver un algorithme en utilisant ces opérateurs (+*-/ et ^) (turbo pascal je suppose :we: ) permettant d'obtenir un nombre unique à partir de 3 autres nombres.

donc si on a n, m, p des nombres, il faut trouver un algo nous donnant un nombre s unique en combinant n, m, p.

donc s = m () n () p ( () : opérateur xD )

mais il ne faut pas par exemple que : s = m-1 () n+1 () p

enfin c'est ce que j'ai compris.. :++:

ffpower
Membre Complexe
Messages: 2542
Enregistré le: 13 Déc 2007, 05:25

par ffpower » 28 Avr 2008, 21:54

Imod a écrit:Si ton problème est de retrouver les trois nombres de départ à partir du quatrième , c'est clairement impossible .

Imod


Pk ca,N^3 est en bijection avec N non? Apres,c est sur que c est mieux si la bijection(ou l injection,ca suffit) est simple

Une idée:tu convertis tes nombres en base 9,et tu les juxtaposes mais en mettant un 9 entre les nombres

Imod
Habitué(e)
Messages: 6476
Enregistré le: 12 Sep 2006, 12:00

par Imod » 28 Avr 2008, 23:10

En fait tout c'est beaucoup de bla bla , il faudrait simplement une vraie question :doh: :doh: :doh:

Imod

arcanis
Membre Naturel
Messages: 11
Enregistré le: 28 Avr 2008, 20:31

par arcanis » 01 Mai 2008, 15:36

En fait, on a trois nombre, A B et C. En effectuant des opérations sur ces nombres, il faut parvenir à un nombre D qui ne puisse être obtenu qu'à partir des trois nombre du départ, si l'on utilise les même opérations.

Par exemple, A + B + C ne marche pas, parce que A + B + C = (A-1) + (B+1) + C
Même chose pour A * B * C

J'ai fini par trouver un autre moyen de contourner ce problème, donc ce n'est plus si important, mais je trouve que c'est un petit problème intéressant...mais je n'ai pas les capacités pour le résoudre, hélas :cry:

"turbo pascal, je suppose"
Non, python :we:

_-Gaara-_
Membre Complexe
Messages: 2813
Enregistré le: 03 Nov 2007, 15:34

par _-Gaara-_ » 01 Mai 2008, 16:00

Aha j'y étais presque :we: :we:

Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 23 Aoû 2005, 00:53

par Patastronch » 01 Mai 2008, 17:00

Y a des conditions sur tes 3 nombres ?

ffpower
Membre Complexe
Messages: 2542
Enregistré le: 13 Déc 2007, 05:25

par ffpower » 01 Mai 2008, 17:27

Je suppose que les conditions sont que les opérations soient algorithmiquement effectuables(Opérations pas trop complexes et nombre obtenu pas trop grand)

arcanis
Membre Naturel
Messages: 11
Enregistré le: 28 Avr 2008, 20:31

par arcanis » 01 Mai 2008, 17:47

pour la limite des nombres, même à 3.000.000.000 ça marche donc on peut le considérer comme négligeable. Et vu que ce n'est plus très important (pour moi, en tout cas), je suppose qu'on peut utiliser d'autres fonctions comme sin/cos/tan/racines.
Les nombres du début sont toujours des entiers positifs, au fait.

On dirait vraiment que c'est impossible...bizarre, ça :marteau:

ffpower
Membre Complexe
Messages: 2542
Enregistré le: 13 Déc 2007, 05:25

par ffpower » 01 Mai 2008, 18:09

T as pas lu mon post précédent ou je propose de convertir les nombres en base 9.Ca marche tres bien je pense et ca ne fait pas beaucoup de calculs.Sinon,de maniere plus théorique,si on a A,B et C on peut associer 2^A*3^B*5^C,mais ca va donner des grand nombres lol

Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 23 Aoû 2005, 00:53

par Patastronch » 01 Mai 2008, 20:09

arcanis a écrit:pour la limite des nombres, même à 3.000.000.000 ça marche donc on peut le considérer comme négligeable. Et vu que ce n'est plus très important (pour moi, en tout cas), je suppose qu'on peut utiliser d'autres fonctions comme sin/cos/tan/racines.
Les nombres du début sont toujours des entiers positifs, au fait.

On dirait vraiment que c'est impossible...bizarre, ça :marteau:


Dans ce cas si y aun majorant a tes nombres A,B et C ca deviens tres simple :
Ton nombre unique :
XXX...XYYY...YZZZ...Z
Avec M fois X, M fous Y et M fois Z. Où M vérifit 10^M>b avec b ton majorant.
De telle sorte que
A=XXX...X
B=YYY...Y
C=ZZZ...Z

Exemple :
On sait que A, B et C sont forcément plus petit que 39.
Si notre nombre unique est 23013022
on sait alors que A=23, B=013=13, C=022=22


Mai pour que que cela marche il faut l'existence de ce majorant a tes nombres A, B et C.

L'idée de la base 9 de ffpower est pas mal, simple mais j'aime bien ce genre de solution "bidouille" :)

venousto
Membre Naturel
Messages: 53
Enregistré le: 03 Avr 2008, 14:48

par venousto » 05 Mai 2008, 22:06

jette un nenoeil à reve de phebus et complyx il y a les explication

_-Gaara-_
Membre Complexe
Messages: 2813
Enregistré le: 03 Nov 2007, 15:34

par _-Gaara-_ » 05 Mai 2008, 22:26

venousto a écrit:jette un nenoeil à reve de phebus et complyx il y a les explication


jette un nenoeil aux règlement du forum :++:

venousto
Membre Naturel
Messages: 53
Enregistré le: 03 Avr 2008, 14:48

par venousto » 05 Mai 2008, 22:30

sa t'interesse la division par zero ou pas
d'aprés ce que tu m'avais dit ca t'interréssé
peut etre que je me trompe
excuse moi pour le derangement

_-Gaara-_
Membre Complexe
Messages: 2813
Enregistré le: 03 Nov 2007, 15:34

par _-Gaara-_ » 05 Mai 2008, 22:34

venousto a écrit:sa t'interesse la division par zero ou pas
d'aprés ce que tu m'avais dit ca t'interréssé
peut etre que je me trompe
excuse moi pour le derangement


oui çà m'intéresse, mais si cela t'intéresse aussi, tu aurais mieux fait de créer un nouveau sujet à ce propos et non parler dans le sujet de quelqu'un d'autre.. enfin c'est comme çà que je le conçois xD

tu ne me déranges pas :++:

Quidam
Membre Complexe
Messages: 3401
Enregistré le: 03 Fév 2006, 17:25

par Quidam » 05 Mai 2008, 22:38

Patastronch a écrit:Dans ce cas si y aun majorant a tes nombres A,B et C ca deviens tres simple :
Ton nombre unique :
XXX...XYYY...YZZZ...Z
Avec M fois X, M fous Y et M fois Z. Où M vérifit 10^M>b avec b ton majorant.
De telle sorte que
A=XXX...X
B=YYY...Y
C=ZZZ...Z

Exemple :
On sait que A, B et C sont forcément plus petit que 39.
Si notre nombre unique est 23013022
on sait alors que A=23, B=013=13, C=022=22


Mai pour que que cela marche il faut l'existence de ce majorant a tes nombres A, B et C.

L'idée de la base 9 de ffpower est pas mal, simple mais j'aime bien ce genre de solution "bidouille" :)


Pourquoi ne pas faire le minimum ? Si 0<=A<P, 0<=B<P, 0<=C<P

Que pensez-vous tout simplement de : A*P²+B*P+C
C'est tout-à-fait le même principe que toi, celui de la numération, mais il n'y a pas lieu de choisir une puissance de 10.

Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 23 Aoû 2005, 00:53

par Patastronch » 05 Mai 2008, 22:59

Quidam a écrit:Pourquoi ne pas faire le minimum ?

Tu as raison, la base P suffit. Disons que c 'est une habitude de programmation, ce que je propose est moins élégant mais ca demande moins de calcul pour retrouver le nombre. En fait au début j'étais meme tenté de prendre la puissance de 2^8 la plus petite qui majore, pour avoir juste à parcourir octet par octet le nombre pour retrouver ses 3 composantes. C'est un réflexe d'informaticien on va dire, la place est généralement moins problématique que le temps de calcul :) Mais bon la j'avoue que ca change pas grand chose !

Quidam
Membre Complexe
Messages: 3401
Enregistré le: 03 Fév 2006, 17:25

par Quidam » 05 Mai 2008, 23:11

Patastronch a écrit:Tu as raison, la base P suffit. Dison que que c 'est une habitude de programmation, ce que je propose est moins élégant mais ca demande moins de calcul pour retrouver le nombre. C'est un réflexe d'informaticien on va dire, la place est généralement moins problématique que le temps de calcul :)


Je suis d'accord qu'il est très simple de calculer avec une puissance de 10, si on fait tout cela à la main. En informatique, justement, si on veut éviter les multiplications et les divisions, on prendra alors, de préférence une puissance de 2 qui permet via les masques binaires d'extraire chaque partie avec des "ET" et des "OU" plus rapides que les opérations arithmétiques classiques. D'un autre côté, l'utilisation d'une puissance de 10 permet à un être humain de comprendre du premier coup d'œil la signification de ce grand nombre sur un listing par exemple. Alors, cela dépend donc de l'utilisation que l'on veut en faire !

Nous sommes bien d'accord tous les deux !

Patastronch
Membre Irrationnel
Messages: 1345
Enregistré le: 23 Aoû 2005, 00:53

par Patastronch » 05 Mai 2008, 23:14

Quidam a écrit:Nous sommes bien d'accord tous les deux !

Oui, tu répondais pendant que j'éditais mon message d'ailleurs, j'ai rajouté la partie par octet qui reviens a dire ce que tu dis. Enfon bon, tout ca pour dire qu'il suffit de prendre n'importe quelle base qui nous arrange plus grande que P.

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite