|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
[JAVA] Come risolvere questo esercizio complicato?
Sul libro che ho preso per la preparazione all'esame SCJP ci sono parecchi esercizi di test. Uno di questi esercizi l'ho trovato davvero un po' complicato (almeno per me
Il codice che riporto adesso l'ho creato io come esempio ed è simile a quello riportato nel libro. Dato il seguente codice: Codice:
class Calcolo {
public static void main(String[] args) {
short x = 8;
short y = 3;
x __ __;
__ __ __;
__ __ __;
__ __ __;
System.out.println(x);
}
}
Codice:
+= -= *= *= x x y y y y y Quale è il metodo migliore per risolvere questo esercizio?? C'è un metodo in particolare da seguire??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#2 |
|
Messaggi: n/a
|
ma... cosa c'entra questo con la proigrammazione??? a me sembra un giochino da settimana enigmistica...
|
|
|
|
#3 |
|
Messaggi: n/a
|
adesso non ponso pensarci approfonditamente, ma per logica, a meno che ci siano trucchetti, il nono _ è occupato da una x e il 2 da un'y
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
In effetti e' strano... beh, con la programmazione c'entra, ma non c'entra tanto con la programmazione Java (l'esame deve approndire quello, giusto?).
Penso non ci sia un sistema standard per affrontare questo tipo di problemi. Se pero' hai un computer, e' possibile affrontarli a forza bruta. Facendo due conti: - hai 7 variabili e 4 operatori da posizionare. Essendo pigro di natura, considero i simboli tutti diversi, per cui avresti 7! * 4! = 5040 * 24 = 120960 diverse sequenze. In realta' i simboli non sono tutti diversi, per cui se vuoi fare le cose di fino avresti 5040 / 240 = 21 diverse possibilita' per posizionare le variabili, e 12 per sistemare gli operatori. E' quindi possibile andare di forza bruta ed aspettarsi il risultato in max 1 secondo. Come fare? Questo e' stato un bel problema di informatica per un bel po' di tempo: la numerazione delle permutazioni (sono pigro, preferisco permutare senza ottimizzare e lasciar fare piu' conti al computer, posso aspettare anche 1 secondo e mezzo). Infatti, se le potresti numerare, potresti scrivere: for (int i = 0; i < 120960; i++) { if (risultato_permutazione(i) == 46) // ritorna la permutazione } Per nostra fortuna il problema di elencare le permutazioni e' stato risolto in piu' modi, con una serie di algoritmi eleganti. Ti basta cercare su google. Se in realta' non puoi usare un pc, chiedo scusa per l'OT High Flying Sottovento |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:20.



















