hackertom Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 [JAVA] παιδιά μπορεί κάποιος να μου πεί πως να κάνω σε ένα πίνακα ακεραίων Χ που δέχεται σαν όρισμα ακέραιους αριθμούς να επιστρέφει τον μέσο όρο των στοιχείων του Χ που είναι πρώτοι αριθμοί
Haldol Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Πρώτος αριθμός θα ξέρεις ότι είναι όποιος φυσικός αριθμός διαιρείται μόνο με το 1 και τον εαυτό του. Ας πούμε το 5 είναι πρώτος αριθμός, μιας και διαιρείται μόνο με το 1 και το 5. Ενώ το 6 δεν είναι αφού διαιρείται με το 1, το 2, το 3 και το 6. Το όλο παιχνίδι δηλαδή είναι στο να κάνεις μια... ακέραια διαίρεση (modulo). Δε ξέρω πως γίνεται αυτό στη Java, αλλιώς θα σου 'δινα κώδικα.
hackertom Δημοσ. 14 Ιουνίου 2012 Μέλος Δημοσ. 14 Ιουνίου 2012 Πρώτος αριθμός θα ξέρεις ότι είναι όποιος φυσικός αριθμός διαιρείται μόνο με το 1 και τον εαυτό του. Ας πούμε το 5 είναι πρώτος αριθμός, μιας και διαιρείται μόνο με το 1 και το 5. Ενώ το 6 δεν είναι αφού διαιρείται με το 1, το 2, το 3 και το 6. Το όλο παιχνίδι δηλαδή είναι στο να κάνεις μια... ακέραια διαίρεση (modulo). Δε ξέρω πως γίνεται αυτό στη Java, αλλιώς θα σου 'δινα κώδικα. δεν πειράζει φιλαράκι... αν και το ψάχνω λίγάκι άμμεσα σαν κώδικα. θα χαρώ αν κάποιος βοηθήσει άμμεσα. ΔΕΝ ΕΙΝΑΙ ΓΙΑ ΑΣΚΗΣΗ Η ΑΛΛΑ ΤΕΤΟΙΑ Γιανα βοηθήσω και εγω κάπως όσο μπορώ βρήκα ένα κώδικα αλλά πρέπει να μετατραπεί κάπως... /* * Save as a AverageNo.java * program for find a Average value of any Number(Prime and Odd). */ package r4r.co.in; import java.io.*; public class AverageNo { public static void main(String[] args) throws IOException { BufferedReader Digit = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter any Number/digit: "); String s1 = Digit.readLine(); int n1 = Integer.parseInt(s1); System.out.println("\n Let the Input number is A== " + n1); // Code for find the Prime Number and its average. try { //Initialized some global variable int a = n1, PrimeSum = 0, OddSum = 0, count1 = 0, count2 = 0; float AvgPrime, AvgOdd; { System.out.println("\n Here the input number be divided into Prime Number: " + "\n"); /* * Find the Prime number and display on Console. * sum the all the prime number. */ for (int i = 0; i <= a; i++) { if ((i % 2) == 0) { System.out.println("Prime number of A: " + i); PrimeSum = PrimeSum + i; count1++; } } System.out.println("\n Sum of all prime number(A): " + PrimeSum); // Average number= Sum of all the primeNo/Count of primeNo. AvgPrime = PrimeSum / count1; System.out.println("\n Average of all Prime number(A): " + AvgPrime); } //Code for find the odd Number and its average. { System.out.println("\n Here the input number be divided into Odd Number: " + "\n"); for (int j = 0; j <= a; j++) { if ((j % 2) != 0) { System.out.println("Odd number of A: " + j); OddSum = OddSum + j; count2++; } } System.out.println("\nSum of all Odd number A: " + OddSum); AvgOdd = OddSum / count2; System.out.println("\nAverage of all Odd number(A): " + AvgOdd); } } catch (Exception e) { System.out.print(e.getMessage()); } } }
moukoublen Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Καταρχήν θες μια συνάρτηση boolean που να δέχεται έναν integer και να επιστρέφει αν είναι πρώτος ή όχι. Πρέπει να ψάξεις να βρεις αλγορίθμους για το πώς ελέγχουμε αν ένας αριθμός είναι πρώτος. Δες εδώ Ας πούμε οτι λέγεται η συνάρτηση αυτή isPrime(int a). Έπειτα δεν έχεις παρά να διανύσεις όλο τον πίνακα και κάθε αριθμός που είναι πρώτος να τον προσθέσεις στο sum και να αυξάνεις το πλήθος κατά ένα ώστε να βρεις μετά τον M.O. > float primeAVG(int[] arr){ int sum = 0; int count = 0; for(int a : arr) if( isPrime(a) ){ sum += a; count++; } return ( sum / count ); }
Re4cTiV3 Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Είχα κάνει σε C++ μια συνάρτηση αν είναι πρώτος αριθμός ο κώδικας είναι αυτός. > bool isPrime(int x) { for(int i=2; i<=sqrt(x); i++) if( x%i == 0) return false; return true; }
hackertom Δημοσ. 14 Ιουνίου 2012 Μέλος Δημοσ. 14 Ιουνίου 2012 /* * Save as a AverageNo.java * program for find a Average value of any Number(Prime and Odd). */ package r4r.co.in; import java.io.*; public class AverageNo { public static void main(String[] args) throws IOException { BufferedReader Digit = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter any Number/digit: "); String s1 = Digit.readLine(); int n1 = Integer.parseInt(s1); System.out.println("\n Let the Input number is A== " + n1); // Code for find the Prime Number and its average. try { //Initialized some global variable int a = n1, PrimeSum = 0, OddSum = 0, count1 = 0, count2 = 0; float AvgPrime, AvgOdd; { System.out.println("\n Here the input number be divided into Prime Number: " + "\n"); /* * Find the Prime number and display on Console. * sum the all the prime number. */ for (int i = 0; i <= a; i++) { if ((i % 2) == 0) { System.out.println("Prime number of A: " + i); PrimeSum = PrimeSum + i; count1++; } } System.out.println("\n Sum of all prime number(A): " + PrimeSum); // Average number= Sum of all the primeNo/Count of primeNo. AvgPrime = PrimeSum / count1; System.out.println("\n Average of all Prime number(A): " + AvgPrime); } //Code for find the odd Number and its average. { System.out.println("\n Here the input number be divided into Odd Number: " + "\n"); for (int j = 0; j <= a; j++) { if ((j % 2) != 0) { System.out.println("Odd number of A: " + j); OddSum = OddSum + j; count2++; } } System.out.println("\nSum of all Odd number A: " + OddSum); AvgOdd = OddSum / count2; System.out.println("\nAverage of all Odd number(A): " + AvgOdd); } } catch (Exception e) { System.out.print(e.getMessage()); } } } ΔΕΣ ΤΕ ΛΙΓΟ αυτό είναι σωστό ... ?
moukoublen Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Θέλεις να καταλάβεις πως γίνεται αυτό που αναφέρεις ή θες απλά να βρεις έναν κώδικα που να το κάνει;
hackertom Δημοσ. 14 Ιουνίου 2012 Μέλος Δημοσ. 14 Ιουνίου 2012 Θέλεις να καταλάβεις πως γίνεται αυτό που αναφέρεις ή θες απλά να βρεις έναν κώδικα που να το κάνει; τον κώδικα να μου κάνει!!!
imitheos Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 δεν πειράζει φιλαράκι... αν και το ψάχνω λίγάκι άμμεσα σαν κώδικα. θα χαρώ αν κάποιος βοηθήσει άμμεσα. ΔΕΝ ΕΙΝΑΙ ΓΙΑ ΑΣΚΗΣΗ Η ΑΛΛΑ ΤΕΤΟΙΑ Γιανα βοηθήσω και εγω κάπως όσο μπορώ βρήκα ένα κώδικα αλλά πρέπει να μετατραπεί κάπως... τον κώδικα να μου κάνει!!! Εφόσον δεν είναι για άσκηση, γιατί θέλεις έτοιμο κώδικα ? Είναι πολύ εύκολο πάντως να το κάνεις και ήδη ο moukoublen και ο Re4cTiV3 (σε c++) σου έδωσαν τα 2 τμήματα του κώδικα. Ολοκληρωμένη η λύση είναι η παρακάτω (σε ψευδοκώδικα όμως ώστε να το προσπαθήσεις σε java) > Κύρια συνάρτηση: ΜέσοςΟρος = 0 Στοιχεία = 0 Για όλα τα στοιχεία του πίνακα Α πράξε: Αν το τρέχον στοιχείο είναι πρώτος αριθμός τότε: ΜέσοςΟρος = ΜέσοςΟρος + τρέχον στοιχείο Στοιχεία = Στοιχεία + 1 ΜέσοςΟρος = ΜέσοςΟρος / Στοιχεία ΕίναιΠρώτος(n): Αν ο αριθμός n είναι 2 ή 3 ή 5 ή 7 τότε επέστρεψε ναι. Αν είναι ζυγός τότε επέστρεψε όχι. Αν διαιρείται με κάποιον μονό αριθμό από το 3 μέχρι το n/2 τότε επέστρεψε όχι. Επέστρεψε ναι.
defacer Δημοσ. 14 Ιουνίου 2012 Δημοσ. 14 Ιουνίου 2012 Εμένα πάντως με έπεισε ότι δεν είναι για άσκηση (not) οπότε ας μην εμπλακώ στο thread...
hackertom Δημοσ. 14 Ιουνίου 2012 Μέλος Δημοσ. 14 Ιουνίου 2012 Παιδιά είμαι στο forum τόσα χρόνια αν την ήθελα για άσκηση θα το έγραφα δεν έχω πρόβλημα! Απλά ήθελα των κώδικα άμμεσα! Πλέων είναι αργά.Ευχαριστώ για τις απαντήσεις των μελών και θα δώ τι μπορώ να κάνω μόνος μου . ΔΕΝ ΘΈΛΩ ΠΛΕΩΝ ΑΛΛΕΣ ΑΠΑΝΤΗΣΕΙΣ ΑΣ ΚΛΕΙΔΩΘΕΙ ΤΟ ΘΕΜΑ ΑΠΟ ΚΑΠΟΙΟΝ MOD!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα