-
RootkitNeo
| .
|
|
|
CITAZIONE (x-reynik-x @ 9/11/2009, 16:52) Non capisco queste parti:
if n%2==0 and n!=2: if n%i==0 and n!=i:
!= significa diverso e quindi se n è diverso da 2(nel primo caso) dovrebbe essere classificato come non primo! E lo stesso nel secondo caso. Dunque, si leggerebbe "diverso da". Io nel primo caso dico: se n%2 è uguale a 0 (quindi se la divisione non ha resto), e n!= da 2, e il numero che metto non è 2 il numero non è primo. Esempio: n=4;
if 4%2==0 and 4!=2:
In poche parole verifico solamente che il numero sia un numero pari, ma che sia diverso da 2.
Nel secondo caso invece, if n%i==0 and n!=i:, dico: Se n%i è uguale a 0 (se il resto della divisione è 0) e n!=i il numero non è primo. Questo perchè controllo i numeri dispari (in java avrei messo in modo diverso il ciclo), ovvero, se n=3 e i (che inizia da 3) è uguale ad n (l'uguaglianza si ha al primo ciclo in questo caso) da resto 0 (quindi è divisibile), e n è diverso da i, il numero non è pari. Effettuo il controllo sul diverso da i proprio per controllare che non sto avendo resto 0 solo perchè i numeri sono uguali.
CODICE n=3;
i al primo ciclo è 3: if n diviso i da resto 0, e n è diverso da i, il numero non è primo.
Sotto se noti c'è un elif che controllo se da resto 0,m e appena sotto un if per vedere se sono uguali. Per finire: se n è uguale a 11 e i è uguale a 11 è ovvio mi dia resto 0, e se i numeri sono uguali è primo!
|
|
| .
|
44 replies since 3/11/2009, 17:13 3110 views
.