Séries Mystérieuse de multiple.
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 23 Juil 2013, 19:59
Bonjour. Etant developer en C j'ai souvent besoin d'utiliser des mathématiques. Mais ce n'est pas la question. J'ai une série de chiffres quelques peu spécial. C'est simple 1 chiffre correspond a un autre chiffres (sans y être égal). J'aimerai trouver un calcul qui me permettrai de dire : si je met un nombre, son nombre correspondant est envoyé. (Par exemple 1 -> -256). Ce calcul est relativement simple si on a une suite de nombre basique, un petit exemple :
1 -> 256
2 -> 512
3 -> 768
Le calcul pour moi sera 1 -> 256*1 ou encore 2 -> 256*2 donc x -> 256*x. Le truc c'est que ma suite de nombre n'est pas du tout basique et après quelques heures de recherche impossible de trouver ce "lien". Je met la suite que j'ai pue obtenir ici. Les nombres non-noté ne veulent pas dire qu'ils n'existent pas. Si vous avez besoin de nombres supplémentaire dite-le moi. Merci d'avance de votre aide. Ci-dessous ma série :
1 -> -256 -> -1
2 -> +512 -> 2
3 -> +256 -> 1
4 -> -1024 -> -4
5 -> -1280 -> -5
6 -> -512 -> -2
7 -> -768 -> -3
8 -> +2048 -> 8
9 -> +1792 -> 7
10 -> +2560 -> 10
11 -> +2304 -> 9
12 -> +1024 -> 4
13 -> +768 -> 3
14 -> +1536 -> 6
15 -> +1280 -> 5
16 -> -4096 -> -16
17 -> -4352 -> -17
18 -> -3584 -> -14
19 -> -3840 -> -15
20 -> -5120 -> -20
21 -> -5376 -> -21
22 -> -4608 -> -18
23 -> -4864 -> -19
24 -> -2048 -> -8
25 -> -2304 -> -9
26 -> -1536 -> -6
27 -> -1792 -> -7
28 -> -3072 -> -12
29 -> -3328 -> -13
30 -> -2560 -> -10
31 -> -2816 -> -11
32 -> +8192 -> 32
33 -> +7936 -> 31
36 -> +7168 -> 28
37 -> +6912 -> 27
38 -> +7680 -> 30
39 -> +7424 -> 29
48 -> +4096 -> 16
49 -> +3840 -> 15
56 -> +6144 -> 24
57 -> +5888 -> 23
62 -> +5632 -> 22
63 -> +5376 -> 21
98 -> -7680 -> -30
99 -> -7936 -> -31
105 -> -6400 -> -25
110 -> -6656 -> -26
-
XENSECP
- Habitué(e)
- Messages: 6387
- Enregistré le: 27 Fév 2008, 19:13
-
par XENSECP » 23 Juil 2013, 20:54
Salut,
Tu as essayé de faire une régression dans un tableur?
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 23 Juil 2013, 22:06
Non pas encore. (N'ayant aucun tableur sous la main). Un ami m'a parlé de modulo 8 avec en plus une incrémentation de chiffre facteur de 32. Je ne sais pas si il a raison ou tord et je n'ai pas pu "tester" sa méthode. Il narrive par contre pas a faire le calcul. Je précise que le plus grand nombre est 255 et que le nombre associé est toujours un multiple de 6.
-
chan79
- Membre Légendaire
- Messages: 10330
- Enregistré le: 04 Mar 2007, 19:39
-
par chan79 » 23 Juil 2013, 22:10
Tu pourrais déjà diviser tous les nombres de la colonne de droite par 256
-
XENSECP
- Habitué(e)
- Messages: 6387
- Enregistré le: 27 Fév 2008, 19:13
-
par XENSECP » 23 Juil 2013, 22:26
Je commence à voir un pattern en calculer

-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 23 Juil 2013, 22:38
Pour les signes
1-, 2+, 4-, 8+, 16-....
Le premier nombre à chaque changement de signe si a=256 (ex 8a=2048 pour le changement de signe du rang 8) )
a, 2a, 4a, 8a, 16a
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 23 Juil 2013, 22:45
Premier Post édité avec les résultats divisés pas 256.
Effectivement tu as raison fma ! Il y a des "palliers" pour les signes. Mais après comment définir le nombre ? Les signes n'ont donc peu d'importance.
PS : Le calcul peux avoir des conditions. (ex : Si il est compris entre 8 et 15 le signe du résulta sera +)
-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 23 Juil 2013, 22:48
Le 2éme chiffre suivant chaque changement de signe (pour le rang 16 changement de signe et deuxième chiffre 4352) est la somme du deuxième et troisième du rang précédent
ex : rang 16, on a 4352 = 1792+2560 du rang 8 = changement de signe)
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 23 Juil 2013, 22:58
D'accord mais cela ne marche pas pour le premier changement de signe, +256 n'est pas égal au 2e + 3e du pallié précédent vue qu'ils n'existent pas.
-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 23 Juil 2013, 23:03
SkyRîme a écrit:D'accord mais cela ne marche pas pour le premier changement de signe, +256 n'est pas égal au 2e + 3e du pallié précédent vue qu'ils n'existent pas.
Oui, tu as raison
-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 23 Juil 2013, 23:13
Pour le deuxième chiffre de chaque rang a, 2a, 4a, on peut dire que c'est = rang -a
exemple pour le rang 8a : 7a (deuxième chiffre rang 9)=8a(le rang 8)-a
pour-5a (deuxième chiffre rang 5) = -4a-a
Maintenant il faut vérifier sur toute la suite, car si on fait pareil pour le troisième chiffre, avec + ou -2 selon le signe, ça fonctionne pour les "marches" 4a, 8a, 16a mais pas pour 32a ou c'est -4a pour son troisième chiffre
Pour le quatrième, idem, on passe de +a ou-a, à -5 a pour la marche 32a
"Un ami m'a parlé de modulo 8 avec en plus une incrémentation de chiffre facteur de 32" ... à voir donc
-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 23 Juil 2013, 23:57
Pour le deuxième chiffre donc :
2n+(-1)^n
Pour le troisième
[2n+(-1)^n] +ou-3
pour le quatrième
[[2n+(-1)^n] +ou-3]+ou-1
?
Bonne insomnie

P.S. :
http://jm.davalan.org/mots/suites/index.html
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 24 Juil 2013, 04:30
Bon pas grave je vais passer par un autre chemin :D
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 24 Juil 2013, 07:03
slt,
on a déjà u_{2^n} = -(-1)^n 2^n
ex:
n=0 =>u_{1} = -1 *1 = -1
n=3 =>u_{8} = 1 *8 = 8
Ensuite, si on regarde les intervalles [2^n; 2^{n+1}[, on remarque:
u_{2^n+1} = u_{2^n} -1 (idem le terme apres vaut le terme d'avant moins un)
u_{2^n+2}=u_{2^n}+2
u_{2^n+3}=u_{2^n}+1
u_{2^n+4}=u_{2^n}-4
u_{2^n+5}=u_{2^n}-5
u_{2^n+6}=u_{2^n}-2
Les additions à droite... (-1,2,1,-4,-5,-2) ne sont autres que les premiers termes de la suite!
Autrement dit
u_{2^n+k} = u_{2^n} + u_k, avec u_0=0 pour k < 2^n
la vie est une fête

-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 24 Juil 2013, 07:40
ahah, ce n'est autre que la somme des digits de la représentation binaire du nombre! (moyennant si l'index du digit est pair ou pas)
- Code: Tout sélectionner
function getValue(n){
var bin=n.toString(2).split('').reverse().join('');//genre 18 associe 16+2=>10010 => 01001
var sum=0;
for(var i=0; i'+val);
}
la vie est une fête

-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 24 Juil 2013, 13:23
Donc imaginons que j'ai juste 1, il me suffira d'utiliser la fonction getvalue( 1 ) pour le transformé en le nombre associé c'est ça ?
- Code: Tout sélectionner
int nombre;
int nombreconverti;
nombreconverti = getvalue( nombre );
EDIT: Cette fonction me pose quelques problèmes.
Ça : "n.toString(2).split('').reverse().join('')" je suis perdu dedans.
MinGW ne capte pas ces "var" j'ai donc remplacer par int.
Math.pow je ne sais pas d'ou il vient non plus.
Et c'est tout.
-
SkyRîme
- Messages: 8
- Enregistré le: 23 Juil 2013, 19:46
-
par SkyRîme » 24 Juil 2013, 18:19
Ok i have understand. This is a C# code :) I need to convert him to normal C.
-
fatal_error
- Membre Légendaire
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 24 Juil 2013, 18:32
c'est pas du C# mais du javascript.
Tu as plus vite fait de comprendre l'algorithme (qui est somme toute assez simple) si tu ne connais pas ces fonctions (plutot que de chercher ce qu'elles font puis de voir s'il en existe un équivalent en C)
la vie est une fête

-
fma
- Membre Rationnel
- Messages: 506
- Enregistré le: 03 Mar 2013, 13:36
-
par fma » 24 Juil 2013, 20:51
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 54 invités