Oppure

Loading
19/11/12 20:21
Saik
Ciao ragazzi mi sono imbattuto in questo problema
[codeIl prode mateninja Numeruto `e pi`u bravo sul campo che sui banchi. Oggi c’`e il compito di storia e la prima
domanda chiede il numero esatto di mateninja diplomatisi Grandin, dalla fondazione del villaggio ad oggi
ed egli proprio non ha idea della risposta. Per fortuna riesce ad intercettare un suggerimento in codice della
bella Otenusa diretto al suo rivale Sekante: “`E un numero di quattro cifre, multiplo di 25 che, diviso per 25,
d`a un numero di due cifre che, scambiate, sono le cifre centrali del numero stesso” (come 54 e 2450, solo
che 54×25 diverso da 2450). Qual `e la risposta?

Sono arrivato alla conclusione che il numero è compreso fra 1000 e 2500 ma non riesco a proseguire...
P.S: non voglio la soluzione al problema ma voglio solo un'idea su come procedere :) :rofl:
aaa
19/11/12 20:53
tasx
l'ho scritto così su due piedi, penso sia giusto.....

for (i = 0; i < 2500; i++)
{
if (i % 25 == 0)
{
var a = i / 25;
var b = a.toString();
var c = b[1] + b[0];
var d = i.toString();
var e = d[1] + d[2];
if (c == e) {window.console.log("number is: " + i);}
}
}
aaa
19/11/12 21:06
nessuno
Dato che il numero diviso 25 da' un risultato di 2 cifre, questo può essere compreso solo tra

40 e 99

(inclusi gli estremi) dato che

40*25 => 1000 è il primo valore utile a 4 cifre multiplo di 25

e

99*25 => 9975 è l'ultimo valore utile a 4 cifre multiplo di 25

Ora devi notare che i multipli di 25 avranno nella penultima cifra sempre una tra

0, 2, 5, 7

Considera che questa sarà la prima cifra delle due da cercare (dato che sono invertite) ma il numero non può iniziare per 0 o 2 perché il minimo è 40. Dunque inizierà per

5 o 7

Anche provando solamente i venti valori possibili, arriverai semplicemente alla soluzione ... ovvero 79 ... 1975

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
19/11/12 21:09
tasx
Postato originariamente da nessuno:

Dato che il numero diviso 25 da' un risultato di 2 cifre, questo può essere compreso solo tra

40 e 99

(inclusi gli estremi) dato che

40*25 => 1000 è il primo valore utile a 4 cifre multiplo di 25

e

99*25 => 9975 è l'ultimo valore utile a 4 cifre multiplo di 25

Ora devi notare che i multipli di 25 avranno nella penultima cifra sempre una tra

0, 2, 5, 7

Considera che questa sarà la prima cifra delle due da cercare (dato che sono invertite) ma il numero non può iniziare per 0 o 2 perché il minimo è 40. Dunque inizierà per

5 o 7

Anche provando solamente i venti valori possibili, arriverai semplicemente alla soluzione ... ovvero 79 ... 1975



nah ... :asd::asd: troppo lavoro mentale, meglio lasciare fare al pc quando si può ;) :rofl::rofl:
aaa
19/11/12 21:12
nessuno
Beh ... anche tu ci hai messo qualcosa in più ... se devi far fare al computer, tanto vale un algoritmo brute force stupidissimo ma efficace e breve ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
19/11/12 21:15
Phi
Beh, una volta che sabbiamo che il numero inizia con 5 o 7 possiamo ridurre ulteriormente i casi notando che anche la cifra delle migliaia del numero di 4 cifre deve essere 1.
Quindi scrivere
25(10a+b)=1000+100b+10a+x
Dove a=5 o a=7, e x=0 o x=5, troviamo
b=(240a-x)/75
proviamo 4 casi e vediamo che b risulta intero solo se a=7 e x=5, caso in cui risulta b=9

Edit : comunque, se ti interessa una soluzione che non usi calcolo automatizzato, penso che il posto migliore sia questo oliforum.it/
Ultima modifica effettuata da Phi 19/11/12 21:16
aaa
19/11/12 21:26
Saik
Grazie a tutti :) comunque io intendevo risolvere il problema senza utilizzare il pc come hanno fatto Nessuno e Phi
P.S Phi penso che darò un occhiata a quel forum :)
aaa
20/11/12 19:20
Qwertj
Postato originariamente da tasx:

l'ho scritto così su due piedi, penso sia giusto.....

for (i = 0; i < 2500; i++)
{
if (i % 25 == 0)
{
var a = i / 25;
var b = a.toString();
var c = b[1] + b[0];
var d = i.toString();
var e = d[1] + d[2];
if (c == e) {window.console.log("number is: " + i);}
}
}


Hai dimenticato di chiamare il metodo Brain.off();
aaa