[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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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 :rire:

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 :rire:

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 :hap:

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

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.