[HELP PYTHON] Des génies d'algo ici ?
MaleoMaleo
2021-12-16 00:34:54
Omg, de mémoire, au lieu d'écrire des lignes pr dire que tu convert un string en chiffres et que tu souhaites passer par le lang binaire, tu peux directement écrire "convert to binary" ou quelque chose comme ça qui converti directement 14230 en 14230 (string to bin).
Ca remonte à loin, d'autant plus si c'est pour du python, osef totalement de l'algo, tu peux écrire ce que tu veux tant que ça fonctionne en Python et que c'est conventionnel (n'écrit pas JE TRANSPHORM DES LETTRES EN CHIFFRES)
Anachorete45
2021-12-16 00:41:59
Le 16 décembre 2021 à 00:34:54 :
Omg, de mémoire, au lieu d'écrire des lignes pr dire que tu convert un string en chiffres et que tu souhaites passer par le lang binaire, tu peux directement écrire "convert to binary" ou quelque chose comme ça qui converti directement 14230 en 14230 (string to bin).
Ca remonte à loin, d'autant plus si c'est pour du python, osef totalement de l'algo, tu peux écrire ce que tu veux tant que ça fonctionne en Python et que c'est conventionnel (n'écrit pas JE TRANSPHORM DES LETTRES EN CHIFFRES)
Oui ça je pense avoir vu sur stackoverflow...
Mais le problème c'est son bit de 8 octets en multipliants 8 octets par eux-même
Irish_chad
2021-12-16 00:43:35
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
MaleoMaleo
2021-12-16 00:44:28
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Foxyorki8
2021-12-16 00:44:32
Le 16 décembre 2021 à 00:41:59 :
Le 16 décembre 2021 à 00:34:54 :
Omg, de mémoire, au lieu d'écrire des lignes pr dire que tu convert un string en chiffres et que tu souhaites passer par le lang binaire, tu peux directement écrire "convert to binary" ou quelque chose comme ça qui converti directement 14230 en 14230 (string to bin).
Ca remonte à loin, d'autant plus si c'est pour du python, osef totalement de l'algo, tu peux écrire ce que tu veux tant que ça fonctionne en Python et que c'est conventionnel (n'écrit pas JE TRANSPHORM DES LETTRES EN CHIFFRES)
Oui ça je pense avoir vu sur stackoverflow...
Mais le problème c'est son bit de 8 octets en multipliants 8 octets par eux-même
essaye de faire str(bin(a*b))[2:]
Anachorete45
2021-12-16 00:49:10
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
Anachorete45
2021-12-16 00:50:20
Le 16 décembre 2021 à 00:44:32 :
Le 16 décembre 2021 à 00:41:59 :
Le 16 décembre 2021 à 00:34:54 :
Omg, de mémoire, au lieu d'écrire des lignes pr dire que tu convert un string en chiffres et que tu souhaites passer par le lang binaire, tu peux directement écrire "convert to binary" ou quelque chose comme ça qui converti directement 14230 en 14230 (string to bin).
Ca remonte à loin, d'autant plus si c'est pour du python, osef totalement de l'algo, tu peux écrire ce que tu veux tant que ça fonctionne en Python et que c'est conventionnel (n'écrit pas JE TRANSPHORM DES LETTRES EN CHIFFRES)
Oui ça je pense avoir vu sur stackoverflow...
Mais le problème c'est son bit de 8 octets en multipliants 8 octets par eux-même
essaye de faire str(bin(a*b))[2:]
ça fonctionne pas clé
Je deviens zinzin
Foxyorki8
2021-12-16 00:51:21
Le 16 décembre 2021 à 00:49:10 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
en lisant je pense que si tu fais bien l'algorithme ça te renvoie bien huit bits
Anachorete45
2021-12-16 00:53:28
Le 16 décembre 2021 à 00:51:21 :
Le 16 décembre 2021 à 00:49:10 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
en lisant je pense que si tu fais bien l'algorithme ça te renvoie bien huit bits
Bah alors c'est que je suis nul
Bon je demanderai demain alors, mais ça me déprime j'y suis depuis 19h
Foxyorki8
2021-12-16 00:53:51
Le 16 décembre 2021 à 00:53:28 :
Le 16 décembre 2021 à 00:51:21 :
Le 16 décembre 2021 à 00:49:10 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
en lisant je pense que si tu fais bien l'algorithme ça te renvoie bien huit bits
Bah alors c'est que je suis nul
Bon je demanderai demain alors, mais ça me déprime j'y suis depuis 19h
attends j'essaye
Anachorete45
2021-12-16 00:55:27
Le 16 décembre 2021 à 00:53:51 :
Le 16 décembre 2021 à 00:53:28 :
Le 16 décembre 2021 à 00:51:21 :
Le 16 décembre 2021 à 00:49:10 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
en lisant je pense que si tu fais bien l'algorithme ça te renvoie bien huit bits
Bah alors c'est que je suis nul
Bon je demanderai demain alors, mais ça me déprime j'y suis depuis 19h
attends j'essaye
Ah oui et les paramètres sont des strings
Mais si tu sais m'aider pour integer d'abord
fin bref une torture l'algo
Foxyorki8
2021-12-16 01:06:22
Le 16 décembre 2021 à 00:55:27 :
Le 16 décembre 2021 à 00:53:51 :
Le 16 décembre 2021 à 00:53:28 :
Le 16 décembre 2021 à 00:51:21 :
Le 16 décembre 2021 à 00:49:10 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
Le 16 décembre 2021 à 00:44:28 :
Le 16 décembre 2021 à 00:43:35 :
Je vois que les cours d'algo sont toujours aussi nazes, comme quoi il y a de choses qui ne changeront jamais
C'est clair, jtape du python depuis 2 ans, les trucs d'algo sont pas aussi bidon que ça xD ils devraient taper des binary tree, vous allez voir ce que c'est que de rentrer en 2021
Non mais les clés c'est simple quand c'est une multiplication de bit classique mais là c'est dans la table des polynomes de F{2^8} ou je ne sais quoi...
Vous savez pas m'aider ?
https://image.noelshack.com/fichiers/2021/50/4/1639612148-image.png
en lisant je pense que si tu fais bien l'algorithme ça te renvoie bien huit bits
Bah alors c'est que je suis nul
Bon je demanderai demain alors, mais ça me déprime j'y suis depuis 19h
attends j'essaye
Ah oui et les paramètres sont des strings
Mais si tu sais m'aider pour integer d'abord
fin bref une torture l'algo
comme ça j'aurais dit que x*a%"101....." c'est (a%"101....")<<1
parce que tu multiplies par x donc tu augmentes la puissance de tous les monômes
pareil pour b=b/x
1>>b
après pour le modulo je sais pas j'ai pas saisi comment tu faisais ça
Coun1978
2021-12-16 04:27:28
Je crois que t'étais pas loin
Les opérations que t'as écrites peuvent se faire plus simplement en convertissant ton string en int et en utilisant les opérateurs binaires de Python, je pense que c'est ce que ton prof essayait d'indiquer dans le NB3
Comme ça tu peux directement faire un XOR pour l'opération add, décalage d'un bit à gauche pour la multiplication par X, et d'un bit à droite pour la division par X
Ensuite faut pas oublier que le modulo renvoie l'entrée inchangée si son degré est inférieur à celui du diviseur (ici 8)
Et enfin, faut penser à tronquer le résultat du modulo, pour que ça reste bien dans F{2^8}
J'ai essayé ça, ça a l'air de marcher
def modulo(a):
if a & (2**8):
a ^= int("100011011", 2)
return a
def truncate(a, nbits):
return a & (2**nbits - 1)
def mult(a, b):
res = 0
a = int(a, 2)
b = int(b, 2)
while b != 0:
if bin(b)[-1] == "1":
res = res ^ a
b = b ^ 1
a = truncate(modulo(a << 1), 8)
b = b >> 1
return bin(res)[2:]
Anachorete45
2021-12-16 11:33:05
Le 16 décembre 2021 à 04:27:28 :
Je crois que t'étais pas loin
Les opérations que t'as écrites peuvent se faire plus simplement en convertissant ton string en int et en utilisant les opérateurs binaires de Python, je pense que c'est ce que ton prof essayait d'indiquer dans le NB3
Comme ça tu peux directement faire un XOR pour l'opération add, décalage d'un bit à gauche pour la multiplication par X, et d'un bit à droite pour la division par X
Ensuite faut pas oublier que le modulo renvoie l'entrée inchangée si son degré est inférieur à celui du diviseur (ici 8)
Et enfin, faut penser à tronquer le résultat du modulo, pour que ça reste bien dans F{2^8}
J'ai essayé ça, ça a l'air de marcher
def modulo(a):
if a & (2**8):
a ^= int("100011011", 2)
return a
def truncate(a, nbits):
return a & (2**nbits - 1)
def mult(a, b):
res = 0
a = int(a, 2)
b = int(b, 2)
while b != 0:
if bin(b)[-1] == "1":
res = res ^ a
b = b ^ 1
a = truncate(modulo(a << 1), 8)
b = b >> 1
return bin(res)[2:]
AAAAAH MERCI CLÉ
Il fallait bien faire le MODULO pour simplifier le résultat binaire à la finhttps://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png
Je te remercierai jamais assez cléhttps://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.pnghttps://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png