Décomposition d'un nombre

Fermé
tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 - Modifié par tuxboy le 27/08/2016 à 15:28
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 27 août 2016 à 15:42
Bonjour les matheux,

Je cherche un peu d'aide sur la meilleure façon de décomposer un nombre.

Je sais qu'un nombre se décompose en facteurs premiers,
je sais qu'il se décompose aussi selon sa base,
je connais la décomposition de Fibonacci...
j'ai même regardé du côté du bi-bibinaire...

1) Existe-t-il d'autres algorithmes pour décomposer un nombre ?

Dans un cas pratique, je voudrais afficher sur une horloge des heures et minutes.
Il existe des afficheurs 7-segments pour cela, mais l'idée serait de minimiser ce nombre de segment. Aussi,

2) Quel est l'algorithme d'affichage optimal d'un nombre d'heures et de minutes ?

Pour répondre à cela, j'ai trouvé qu'on peut afficher sur une Led RGB une couleur associée à l'heure-minute, mais c'est illisible en pratique. On peut séparer les heures et les minutes pour les afficher sur deux Led RGB... mais c'est aussi une idée insuffisante.
Il y a aussi ce projet intéressant :
http://geekoclock.com/

Merci par avance pour vos idées
Bon weekend.

1 réponse

luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
Modifié par luckydu43 le 27/08/2016 à 15:21
Bonjour !

Je ne comprends pas l'utilité, je crois que tu pars dans des recherches sans avoir une idée précise...
Décomposer un nombre, ok... dans l'usage informatique/électronique la décomposition binaire est la plus logique, c'est justement elle que j'utilise pas la suite :

Une journée contient 24 heures (2 chiffres)
Une heure contient 60 minutes (2 chiffres)
1 minute 60 secondes. (2 chiffres)

Il faut donc afficher 6 chiffres.

Celui de la dizaine, pour les minutes et secondes, va de 0 à 6, soit 7 valeurs. 3 segments suffisent (2^3 = 8)
Celui de la dizaine d'heure va de 0 à 2, soit 3 valeurs. 2 segments suffisent (2^2=4).
Celui des unités, pour les 3 cas, va de 0 à 9, soit 10 valeurs. 4 afficheurs suffisent (2^4=16)

On a donc 3*4 + 2*3+ 2 = 20 segments.
Ainsi, bien répartis, 3 afficheurs 7 segments permettent d'afficher l'heure.
Problème : la lisibilité ;-)

Voila... si ça ne t'aide pas, c'est qu'il te faut revoir ta façon d'exprimer ton problème ;-)

Bonne journée

Luc

Pour ton lien, l'affichage permet d'afficher les heures et minutes (avec une précision de 5 minutes), mais ne permet pas de savoir si c'est l'après-midi ou le matin. En gros, l'horloge de Fibo affiche 12 valeurs : 12 valeurs, soit 24 valeurs.
Dans ce cas précis, c'est effectivement la façon de faire la plus réduite possible (suite de Fibo = 1, 1, 2, 3, 5; sommés ils donnent 12)

Qu'est-ce que tu cherches de plus ?

Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
0
tuxboy Messages postés 994 Date d'inscription lundi 23 juillet 2012 Statut Membre Dernière intervention 28 mai 2019 189
27 août 2016 à 15:37
Merci Luc, c'est exactement cela. La course du temps est une bonne illustration de ce qui est recherché, une idée numérique nouvelle pour afficher l'heure. Bien sûr, il suffit d'observer le ciel pour en lire une approximation.

Il existe aussi je crois une possibilité avec la somme de deux carrés ?
0
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
27 août 2016 à 15:42
Peut-être... en tout cas, ce que je propose n'est pas optimisé et pas top parce que :
- il faut comprendre l'affichage
- chaque nombre a son propre affichage et n'empiète pas sur les autres : dans cette mesure l'optimisation n'est pas optimale
Pour la somme des 2 carrés, je ne vois pas comment on fait, donc... voilà quoi ;-)
0