Aiuto con un equazione
Salve a tutti , scrivo qui chiedendovi una mano per una funzione che sto scrivendo.
in pratica dati 3 numeri casuali ( es. 1 27 38 ) ne vorrei ricavare solo 2 che verranno resi noti.
Ossia il risultato del [(1° numero + 2° numero) - 3° numero] ( che per comodità chiamerò r) e un altro coefficiente che mi permetta di ritornare ai 3 numeri iniziali ad esempio il risultato del 1° - il 2° numero (che per comodità chiamerò k).
quindi l'equazione sarebbe:
$ r = [(1° numero + 2° numero) - 3° numero] $
ma conoscendo r e k , come faccio a tornare indietro?
inizialmente pensai a una cosa del genere:
r = (x - k) + (r - k) *dato che r + k dava come risultante il 3° numero
solo che non sempre risulta come nel caso di :
7, 9 ,1 ; dove k = -2 e r = -1
-1 = x +2 +1 -> x = -4 ( dovrebbe essere il 2° membro >,> )
quindi mi appello a voi ç.ç aiutatemi ç.ç
in pratica dati 3 numeri casuali ( es. 1 27 38 ) ne vorrei ricavare solo 2 che verranno resi noti.
Ossia il risultato del [(1° numero + 2° numero) - 3° numero] ( che per comodità chiamerò r) e un altro coefficiente che mi permetta di ritornare ai 3 numeri iniziali ad esempio il risultato del 1° - il 2° numero (che per comodità chiamerò k).
quindi l'equazione sarebbe:
$ r = [(1° numero + 2° numero) - 3° numero] $
ma conoscendo r e k , come faccio a tornare indietro?
inizialmente pensai a una cosa del genere:
r = (x - k) + (r - k) *dato che r + k dava come risultante il 3° numero
solo che non sempre risulta come nel caso di :
7, 9 ,1 ; dove k = -2 e r = -1
-1 = x +2 +1 -> x = -4 ( dovrebbe essere il 2° membro >,> )
quindi mi appello a voi ç.ç aiutatemi ç.ç
Risposte
La tua spiegazione è molto confusa, non capisco che cosa vuoi fare esattamente. Prova a riformulare le tue idee ponendo
a= 1° numero
b= 2° numero
c= 3° numero
Inoltre dall'esempio che hai fatto nell'ultimo passaggio sembra che tu abbia delle difficoltà ad operare con i numeri relativi, infatti $r=[(7+9)-1] != -1$
a= 1° numero
b= 2° numero
c= 3° numero
Inoltre dall'esempio che hai fatto nell'ultimo passaggio sembra che tu abbia delle difficoltà ad operare con i numeri relativi, infatti $r=[(7+9)-1] != -1$
Se ho capito bene, il problema è questo:
Presi tre numeri a caso (chiamiamoli $a$, $b$, $c$), si ricavano altri due numeri ($r$ e $k$) operando con $a$, $b$ e $c$. Ad esempio:
$r=(a+b)-c$
$k=a-b$
Poi, partendo da $r$ e $k$, bisogna tornare indietro e quindi ricavare i tre numeri iniziali.
Però secondo me non è possibile fare una cosa del genere, in quanto avremmo da risolvere un sistema di due equazioni a tre incognite.
Presi tre numeri a caso (chiamiamoli $a$, $b$, $c$), si ricavano altri due numeri ($r$ e $k$) operando con $a$, $b$ e $c$. Ad esempio:
$r=(a+b)-c$
$k=a-b$
Poi, partendo da $r$ e $k$, bisogna tornare indietro e quindi ricavare i tre numeri iniziali.
Però secondo me non è possibile fare una cosa del genere, in quanto avremmo da risolvere un sistema di due equazioni a tre incognite.
"@melia":
La tua spiegazione è molto confusa, non capisco che cosa vuoi fare esattamente. Prova a riformulare le tue idee ponendo
a= 1° numero
b= 2° numero
c= 3° numero
Inoltre dall'esempio che hai fatto nell'ultimo passaggio sembra che tu abbia delle difficoltà ad operare con i numeri relativi, infatti $r=[(7+9)-1] != -1$
scusa , nella formula ho invertito il 3° numero con il 2° ç.ç
"milizia96":
Se ho capito bene, il problema è questo:
Presi tre numeri a caso (chiamiamoli , , ), si ricavano altri due numeri ( e ) operando con , e . Ad esempio:
$ r = (a+b)-c $
$ k = a-b $
Poi, partendo da e , bisogna tornare indietro e quindi ricavare i tre numeri iniziali.
Però secondo me non è possibile fare una cosa del genere, in quanto avremmo da risolvere un sistema di due equazioni a tre incognite.
Allora mi spiego meglio , io vorrei una funzione che da tre numeri randomici ne ne ricavi solo 2 . ( o che comunque vi sia un calo es: da 5 a 3).
Ma da quel che leggo mi sa di impossibile @_@.
Io inizialmente pensavo dato "k" ,che fa ricavare "c" e la differenza di "a" e "b" , potevo impostare un sistema a una incognita "x" e sottrarre / aggiungere "k" per arrivare all'ultimo numero .
Data che questo non è fattibile non è che qualcuno potrebbe aiutami? ç.ç
nessuno è in grado di aiutarmi? ç.ç
"lafenice":
Allora mi spiego meglio , io vorrei una funzione che da tre numeri randomici ne ne ricavi solo 2 . ( o che comunque vi sia un calo es: da 5 a 3).
Ma da quel che leggo mi sa di impossibile @_@.
Allora avevo capito bene.
Eh sì, è proprio impossibile.
Bisogna per forza usare $r$ e $k$ impostati da te?
no , però a me servirebbe una riduzione di numeri rispetto a quelli iniziali .
ps: Grazie a tutti per l'aiuto datomi fino ad ora ^^
ps: Grazie a tutti per l'aiuto datomi fino ad ora ^^
Ho l'impressione che tu stia scrivendo un algoritmo. Scusa, ma puoi spiegare a cosa ti serve tutto ciò? Probabilmente esiste un modo per evitare questa situazione.
la tua impressione è giusta xD , in pratica sto cercando di criptare una frase (convertita in numeri ) in una sequenza numerica ridotta quindi il tutto sarebbe indecriptabile non conoscendo l'algoritmo
Ah quindi per te è positivo questo fatto di non poter risalire all'originale... Ora però vedi se ci sono ambiguità.
Assicurati che nel tuo algoritmo non ci siano parole diverse che criptate diventano uguali.
(non so in che modo ottieni i numeri dalle lettere, ma non vorrei che prendessi solamente i codici ASCII delle lettere).
Assicurati che nel tuo algoritmo non ci siano parole diverse che criptate diventano uguali.
(non so in che modo ottieni i numeri dalle lettere, ma non vorrei che prendessi solamente i codici ASCII delle lettere).
Sposto in swcondaria di II grado, a questo punto è lampante che non si tratta di un problema di scuola media.
ovviamente immagino che tu conosca già RSA 
in ogni caso, per esempio potresti rendere noti solo r e k, così da non permettere di risalire univocamente ad a b e c, ma dare anche un altro coefficiente, diciamo h, che invece sarà segreto,
così che solo chi conosce anche h può risalire ad a, b e c
cmq tieni conto che se si tratta di codice ASCII ci sono solo 128 numeri, e se vuoi criptare solo lettere ancora di meno, quindi uno potrebbe tentare per qualche valore e prendere solo quello che è plausibile secondo il codice ASCII.. ora non so che numeri rappresentino esattamente a b e c, però vacci cauto, in questo senso

in ogni caso, per esempio potresti rendere noti solo r e k, così da non permettere di risalire univocamente ad a b e c, ma dare anche un altro coefficiente, diciamo h, che invece sarà segreto,
così che solo chi conosce anche h può risalire ad a, b e c
cmq tieni conto che se si tratta di codice ASCII ci sono solo 128 numeri, e se vuoi criptare solo lettere ancora di meno, quindi uno potrebbe tentare per qualche valore e prendere solo quello che è plausibile secondo il codice ASCII.. ora non so che numeri rappresentino esattamente a b e c, però vacci cauto, in questo senso

umh a me però servirebbe poter risalire all'originale con solo i 2-3 numeri che metto a disposizione , in modo tale che chiunque conosca l'algoritmo possa risalire all'originale ...