Bonsoir,
Je voudrais faire un test pour vérifier que, pour des nombres tous entiers:
P + f(i) (mod n) = K
K - f(i) (mod n) = P
Avec f(i) une fonction qui à un nombre entier associe un entier, autrement dit f: Z |--> Z.
Or, ça fait une heure que je cherche sur internet et pas moyen de trouver comment on déclare à python une variable uniquement par son type.
Je ne cherche pas à vérifier ça avec des nombres précis, mais seulement pour des entiers quelconques. J'ai essayé différents trucs, je n'ai pas trouvé.
Idem pour la fonction: comment lui faire comprendre f: Z |--> Z ?
Voici mon bout de code:
Certains vous diront que c'est inutile de déclarer une valeur vide juste avec son type, moi je dis que c'est bien utile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import math def f(x): return x^3-2*x^2+3*x-5 # pour le moment j'ai pris une fonction qui satisfasse la condition dans l'attente de ce que je recherche def g(x): return -x^3+2*x^2-3*x+5 def crypt(a, b, s): return (a+f(b))%s def decrypt(a, b, s): return (a-f(b))%s a=type('int') # bon, c'était un essai vain, hein, mais bien-sûr ça ne marche pas b=type('int') s=type('int') decrypt(crypt(a, b, s), b, s) == a
Bref, je n'ai pas trouvé. Des idées ? Merci d'avance.
PS -- Au cas où, je suis débutant.
Partager