PDA

Επιστροφή στο Forum : java problem



ring0
16-12-08, 22:09
καλησπερα παιδες,
μπαινω κατευθειαν στο ψητο.....θελω να βρω ολους τουσ τετραψηφιους για τους οποιους ισχυει ...χyzk=x^w+y^w+z^w+k^w.....o παρακατω κωδικας τρεχει χωρισ compilation errors αλλα για κανενα w(παιρνει τιμη 1-99) ...δεν εμφανιζει τιποτα .... για αυτο παραξενευομαι μηπως κανω κατι λαθος...ο κωδικας μου....


import java.util.*;
class calc{
void method1(int w){



int a,b,n=1,d=1,v=1,l=1;


//χρησιμοποιω τα 4 for ωστε να βρω ολους τουσ δυνατους τετραψηφιους ακεραιους
for (int x=1;x<=9;x++)
{

for(int y=0;y<=9;y++)
{
for(int z=0;z<=9;z++)
{
for(int k=0;k<=9;k++)

{
//επειδη θελω να υπολογισω χ^w,y^w,z^w,k^w ....kai java δεν εχει operator υψωσης χρησιμοποιω αυτo τo for
for(int s=1; s<=w; s++){
n=x*n;
d=y*d;
v=z*v;
l=k*l;

}
a=n+d+v+l;
b=10*10*10*x+10*10*y+10*z+k;
if(a==b){
System.out.println("the tetrapsifios is"+ b);
}


}

}
}
}


}

}

class calcTest{
public static void main( String args[])
{
calc obj=new calc();
for (int h=1;h<=99;h++){

System.out.println("the w is "+h);
obj.method1(h);
}}
}

thanks....οποια βοηθεια δεκτη...:oneup:

WagItchyef
16-12-08, 22:33
Μάλλον αλγοριθμικό είναι το πρόβλημα. Γιατί δεν συγκρίνεις ένα ένα τα ψηφία με τον αριθμό;

Αλγοριθμικά, μπορείς να ανακτήσεις τα ψηφία μεμονωμένα ως εξής:

xyzk, x, y, z, k, number: integer;


Έστω ο αριθμός xyzk==1234

number= xyzk;

k= number mod 10;

number= number div 10

z= number mod 10;

number= number div 10;

y= number mod 10;

number= number div 10;

x= number mod 10;

ring0
16-12-08, 23:02
πιστευω πως οπως το εχω κανει με τα for ...o πρωτος αριθμος που θα παρει θα ειναι ο 1000 ...1001 κ.λ.π....αρα δεν υπαρχει σε αυτο το σημειο καποιο προβλημα....γιατι μου λες να κανω το συγκεκριμενο εντοπιζεις καποιο προβλημα καπου??

WagItchyef
16-12-08, 23:09
πιστευω πως οπως το εχω κανει με τα for ...o πρωτος αριθμος που θα παρει θα ειναι ο 1000 ...1001 κ.λ.π....αρα δεν υπαρχει σε αυτο το σημειο καποιο προβλημα....γιατι μου λες να κανω το συγκεκριμενο εντοπιζεις καποιο προβλημα καπου??

Δεν είμαι προγραμματιστής Java, αλλά καταλαβαίνω να διαβάσω τον κώδικα. Ο κώδικας είναι αρκετά μπερδεμένος, και το γεγονός ότι δεν σου βγάζει ορθό αποτέλεσμα σημαίνει ότι είναι κάπου λάθος.

Νομίζω ότι το να βρεις τα ψηφία x,y,z,k, με τον τρόπο που σου είπα είναι πιο γρήγορο, και η μόνη for που θα τρέξεις, θα μεταβάλει τη μεταβλητή που ονομάζεις w.

Στο σώμα της for, θα υπάρχει μία if, που θα ελέγχει αν x^w+ y^w+ z^w+ k^w== xyzk.

ring0
17-12-08, 00:37
ρε παιδια να ρωτησω κατι ....οταν γραφω

class za{

public static void main(String args[]){
for (int p=1;p<=9;p++)
{
System.out.println("to p="+p);
for(int y=0;y<=9;y++)
{
System.out.println("to y="+y);
for(int z=0;z<=9;z++)
{
System.out.println("to z="+z);
for(int k=0;k<=9;k++)
{
System.out.println("to k="+k);}
}
}
}}}
δεν θα επρεπε να ξεκιναει να τυπωνει απο το p=1 ...μετα y=0 ..μετα z=0 kai ...k=0....και μετα κ=1,2...9 κ.λ.π?????
κανω λαθος???:hmm: εμενα αυτο που βλεπω στην οθονη ειναι να ξεκιναει απο z=3....κατι δεν παει καλα ή εγω εχω κολησει:hmm:

ring0
17-12-08, 13:36
Μάλλον αλγοριθμικό είναι το πρόβλημα. Γιατί δεν συγκρίνεις ένα ένα τα ψηφία με τον αριθμό;

Αλγοριθμικά, μπορείς να ανακτήσεις τα ψηφία μεμονωμένα ως εξής:

xyzk, x, y, z, k, number: integer;


Έστω ο αριθμός xyzk==1234

number= xyzk;

k= number mod 10;

number= number div 10

z= number mod 10;

number= number div 10;

y= number mod 10;

number= number div 10;

x= number mod 10;
σε αυτο που μου λεσ να κανω θεωρεις οτι ξερω για ποιον τετραψηφιο μιλαμε ...το number...αν καταλαβα καλα.Το θεμα ειναι οτι εγω δεν ξερω τον τετραψηφιο αλλα θελω για ολους τουσ δυνατους..:hmm:

WagItchyef
17-12-08, 15:41
O ψευδοκώδικας δουλεύει για όλους τους τετραψήφιους απρόσημους (θετικούς) ακεραίους, δηλαδή για το σύνολο [1000, 9999].

Edit: Για να είμαστε πιο ακριβείς, δουλεύει για το σύνολο τετραψήφιων ακεραίων [0001, 9999].

murray
17-12-08, 16:48
ρε παιδια να ρωτησω κατι ....οταν γραφω

class za{

public static void main(String args[]){
for (int p=1;p<=9;p++)
{
System.out.println("to p="+p);
for(int y=0;y<=9;y++)
{
System.out.println("to y="+y);
for(int z=0;z<=9;z++)
{
System.out.println("to z="+z);
for(int k=0;k<=9;k++)
{
System.out.println("to k="+k);}
}
}
}}}δεν θα επρεπε να ξεκιναει να τυπωνει απο το p=1 ...μετα y=0 ..μετα z=0 kai ...k=0....και μετα κ=1,2...9 κ.λ.π?????
κανω λαθος???:hmm: εμενα αυτο που βλεπω στην οθονη ειναι να ξεκιναει απο z=3....κατι δεν παει καλα ή εγω εχω κολησει:hmm:

Κάτι δεν βλέπεις καλά τότε :p. Εμένα μου τυπώνει τα αναμενόμενα...

Επίσης, ο αρχικός σου κώδικας έχει πρόβλημα στο σημείο που κάνεις το "κόλπο" με την for( s= ...) για να υψώσεις σε δύναμη. Οι μεταβλητές n, d, v, l που έχεις πρέπει πριν από την εκτέλεση του αυτού του for να ξανααρχικοποιηθούν στη μονάδα...

ring0
17-12-08, 19:54
Κάτι δεν βλέπεις καλά τότε :p. Εμένα μου τυπώνει τα αναμενόμενα...

Επίσης, ο αρχικός σου κώδικας έχει πρόβλημα στο σημείο που κάνεις το "κόλπο" με την for( s= ...) για να υψώσεις σε δύναμη. Οι μεταβλητές n, d, v, l που έχεις πρέπει πριν από την εκτέλεση του αυτού του for να ξανααρχικοποιηθούν στη μονάδα...
εφαγα τοσες ωρες ....:down:επειδη οταν το ετρεχα και ανοιγε η console πραγματι εβλεπα αποτελεσματα αλλα απο καποιο σημειο και μετα οχι απο την αρχη.......για αυτο μου φαινοταν περιεργο....και ελεγα τι μ* ειναι αυτες ...
δεν ειχα ενεργοποιησει στο jcreator στα settings capture output...ελεος...:rofl:
το μονο λαθος που ειχε ηταν αυτο που ειπε ο murray.....:oneup:
την αλλη φορα θα προσεχω more....ευχαριστω ολους για την βοηθεια....:)

hammer21
17-12-08, 21:30
δεν ειχα ενεργοποιησει στο jcreator στα settings capture output...ελεος..

Σορυ ρε φιλε,αλλα 2ο ετος και γραφεις σε αυτη την -επιοικως- μ@λ@κι@ κωδικα?Πως μπορεις?

ring0
17-12-08, 23:51
επειδη στο εργαστηριο java στη σχολη ειχαν τη φαινη ιδεα νa εγκαταστησουν αυτο και θα γραψω και μια προοδο σε αυτο ειπα και εγω να εξοικειωθω με αυτο για να μην κανω καμια μαλακια σαν και αυτες που εκανα απο πανω .....:)

hammer21
18-12-08, 00:05
Προοδο πανω στο jcreator?Προοδο στη java?Καταρχην η γραπτη εξεταση ειναι απαραδεκτη για μενα σε μαθημα προγραμματισμου,ποσο μαλλον η προοδος.

WagItchyef
18-12-08, 00:12
Προοδο πανω στο jcreator?Προοδο στη java?Καταρχην η γραπτη εξεταση ειναι απαραδεκτη για μενα σε μαθημα προγραμματισμου,ποσο μαλλον η προοδος.

Δεν ξέρω τι ακριβώς εστί jcreator, ούτε έχω ασχοληθεί με Java, αλλά θεωρώ ότι γραπτή εξέταση σε μάθημα με γλώσσα προγραμματισμού μπορεί να γίνει, αρκεί να είναι "λογικά" και απλά, αυτά που θα ζητηθούν.

hammer21
18-12-08, 00:18
Το jcreator ειναι ενα τριασαθλιο java ide,που παλια παραλιγο να μου κοψει τον κωδικα.ευτυχως μετα ανακαλυψα netbeans/eclipse.:oneup:
Εγω πιστευω οτι το καλυτερο θα ηταν να δινονται απαλλακτικες στα μαθηματα προγραμματισμου.Θα σου δινουν ενα μεγαλο project την πρωτη μερα και θα το παραδινεις μια μερα πριν αρχισει το επομενο εξαμηνο.Και την ερευνα προαγει και σε μυει απο σχετικα μικρη ηλικια στα μεγαλα project.

WagItchyef
18-12-08, 00:33
Εγω πιστευω οτι το καλυτερο θα ηταν να δινονται απαλλακτικες στα μαθηματα προγραμματισμου.Θα σου δινουν ενα μεγαλο project την πρωτη μερα και θα το παραδινεις μια μερα πριν αρχισει το επομενο εξαμηνο.Και την ερευνα προαγει και σε μυει απο σχετικα μικρη ηλικια στα μεγαλα project.

Μεγάλο ή μικρό project, μπορεί κάποιος να πληρώσει έναν προγραμματιστή να του το κάνει, και να περάσει το μάθημα αρκετά αδιάβαστος.

ring0
18-12-08, 01:15
Μεγάλο ή μικρό project, μπορεί κάποιος να πληρώσει έναν προγραμματιστή να του το κάνει, και να περάσει το μάθημα αρκετά αδιάβαστος.
πολυ σωστος......ενας φιλος μου επειδη βαριοτανε να κανει κατι εργασιες ....τις εδινε στον καθηγητη του (πηγαινε φροντιστηριο c\c++) kai φυσικα τον πληρωνε....
φετος επειδη επαιρνα μεγαλυτερο βαθμο σε ολες τις δινει σε εμενα .....φυσικα με το αζημιωτο....μονο κατι καφεδες με κερναει και θα μου γνωρισει και κατι κοπελες τιποτα αλλο........:p

hammer21
18-12-08, 13:19
Μεγάλο ή μικρό project, μπορεί κάποιος να πληρώσει έναν προγραμματιστή να του το κάνει, και να περάσει το μάθημα αρκετά αδιάβαστος.

Τετοιοι "μαγκες" παντα θα υπαρχουν.Δεν σου λεω οτι εχεις αδικο αλλα δεν θα δομησουμε τις διαδικασιες αξιολογησης πανω σε ατομα με συμπεριφορες αντικειμενικα λαθος.Αν δεν θελανε να μην σπουδαζαν το αντικειμενο.Γιατι αυριο θα βγαινουν στον Κουλογλου και θα λενε, εχω πτυχιο πληροφορικης και παιρνω 500Ε.Γιατι αραγε?

Υ.Γ:Αν και αυτο που λες λυνεται με μια μινι προσωπικη,προφορικη εξεταση των 15 λεπτων που θα εξηγησεις σε καποιον υπευθυνο τον κωδικα επιγραμματικα(οπως γινεται και σημερα στις εργασιες στα πανεπιστημια).Εξαλλου αν δεν ξερεις να γραφεις κωδικα δεν θα ξερεις και αν τον διαβασεις,να τον διαβασεις και να τον εξηγησεις σε εναν τριτο.;)

dvm
18-12-08, 13:30
Πάντως στον εργασιακό χώρο αυτό το φαινόμενο είναι γνωστό και ως outsourcing ;)

@ ADSLgr.com All rights reserved.