Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

πχ εχω 5 αριθμους 100 150 230 240 300

Θελω να βρω ολους τους συνδυασμους αθροισματων τους ανα 1 2 3 ή και 4

ωστε το αθροισμα να βγαινει ή απο 990 ως 1000 ή απο 1490 ως 1500

 

πχ 10χ100=1000

150χ2 + 230χ2 = 990

100χ1 + 230χ4 + 240χ2=1500

 

Εχω κανει κατι σε access αλλα βγαζει πολλα διπλα αποτελεσματα και δεν ειναι ευχρηστο

Μεχρι εδω νομιζω μπορει να βρεθει λυση

Αφου βγουν οι συνδυασμοι να μπορω να διαλεξω αυτους που θελω ωστε να εχω πχ 10 φορες το 100 5 φορες το 230 .............

Δημοσ.

πχ εχω 5 αριθμους 100 150 230 240 300

Θελω να βρω ολους τους συνδυασμους αθροισματων τους ανα 1 2 3 ή και 4

ωστε το αθροισμα να βγαινει ή απο 990 ως 1000 ή απο 1490 ως 1500

 

Εννοείς τους συνδυασμούς αθροισμάτων των πολλαπλάσιων των αρχικών αριθμών σωστά?

Δημοσ.

Δηλαδή ένα πρόγραμμα που θα του δίνεις ως input έναν αριθμό και το πλήθος πολλαπλασίων που θέλεις να σου αθροίσει, σου κάνει;

 

ΥΓ. Δεν έχω καταλάβει τι ακριβώς θες να κάνεις (δεν με βοηθάει η περιγραφή σου).

Δημοσ.

πχ εχω 5 αριθμους 100 150 230 240 300

Θελω να βρω ολους τους συνδυασμους αθροισματων τους ανα 1 2 3 ή και 4

ωστε το αθροισμα να βγαινει ή απο 990 ως 1000 ή απο 1490 ως 1500

 

πχ 10χ100=1000

150χ2 + 230χ2 = 990

100χ1 + 230χ4 + 240χ2=1500

 

Εχω κανει κατι σε access αλλα βγαζει πολλα διπλα αποτελεσματα και δεν ειναι ευχρηστο

Μεχρι εδω νομιζω μπορει να βρεθει λυση

Αφου βγουν οι συνδυασμοι να μπορω να διαλεξω αυτους που θελω ωστε να εχω πχ 10 φορες το 100 5 φορες το 230 .............

 

 

Θες να μπορείς να αθροίζεις τυχαία τους αριθμούς ή να τηρείται σειρά;

 

Π.χ., εάν έχεις το 10, 11, 12, 13, 14, 15

 

Θες να μπορείς να κάνεις μόνο:

 

10 x 2 + 11 x 3

 

ή και:

 

10 x 2 + 15 x 4

 

Επίσης, θες επανάληψη ή όχι;

 

Δηλαδή, είναι valid το:

10 x 2 + 10 x 3 + 10 x 4 ;

 

 

Υ.Γ. Δοκίμασε την unique σε access για τα διπλά αποτελέσματα.

Δημοσ.

πχ εχω σοκολατες των 100 150 230 240 300 γραμμαριων

και εχω και κουτια που χωρανε η 1000γρ η 1500 γρ

θελω να βρω συνδυασμους πως θα χωρισω τις σοκολατες ωστε να βαλω μεσα

5 των 100

15 των 150

20 των 230

12 των 240

18 των 300

Δημοσ.

Μιας και είμαστε σε φόρουμ προγραμματισμού, θα μπορούσες να μου αποσαφηνίσεις τι ακριβώς θα δέχεται ένα τέτοιο πρόγραμμα ως input και τι ακριβώς θέλεις να σου βγάζει ως output; Θα βοηθούσε πολύ κάτι τέτοιο (π.χ. τα νούμερα που έχεις δώσει στο προηγούμενο ποστ είναι fixed? ή θες να μπορεί να σου παρουσιάζει κι άλλες εναλλακτικές διανομής μέσα στα κουτιά; )

 

EDIT: Άκυρο, μόλις είδα πως θες να σου βγάζει όλους τους πιθανούς συνδυασμούς (το έχεις γράψει :) )

Δημοσ.

Input θα δινεις τα γραμμαρια των ειδων 100 120 150 300.... και ποσα θες απο το καθενα

Τα σταθερα ειναι τα αθροισματα στο 1000 η στο 1500

Δημοσ.

>
public class Main {

   public static void main(String[] args) {
       int a = 100;
       int b = 150;
       int c = 230;
       int d = 240;
       int e = 300;
       int i,j,k,l,m;
       int counter = 0;


       for(i=0;i<=15;i++){

           for (j=0;j<=15;j++){

               for (k=0;k<=15;k++) {

                   for (l=0;l<=15;l++) {

                       for (m=0;m<=15;m++){

                           if ((i*a)+(j*+(k*c)+(l*d)+(m*e) >= 990 && (i*a)+(j*+(k*c)+(l*d)+(m*e) <= 1000) {
                               if (!(i!=0 && j!=0 && k!=0 && l!=0 && m!=0)) {
                               System.out.println("Combination "+i+"x"+a+" + "+j+"x"+b+" + "+k+"x"+c+" + "+l+"x"+d+" + "+m+"x"+e+" equals "+ (i*a+j*b+k*c+l*d+m*e) );
                               counter = counter +1;
                               }

                           }
                           if ((i*a)+(j*+(k*c)+(l*d)+(m*e) >= 1490 && (i*a)+(j*+(k*c)+(l*d)+(m*e) <= 1500) {
                               if (!(i!=0 && j!=0 && k!=0 && l!=0 && m!=0)) {
                               System.out.println("Combination "+i+"x"+a+" + "+j+"x"+b+" + "+k+"x"+c+" + "+l+"x"+d+" + "+m+"x"+e+" equals "+ (i*a+j*b+k*c+l*d+m*e) );
                               counter = counter +1;
                               }
                           }

                       }

                   }

               }

           }

       }
       System.out.println("Number of combinations =" + counter);
   }

}

 

 

Κάτι τέτοιο θέλεις δηλαδή? Δίνει ένα αποτέλεσμα της μορφής

 

Combination 0x100 + 0x150 + 0x230 + 0x240 + 5x300 equals 1500

Combination 0x100 + 0x150 + 0x230 + 5x240 + 1x300 equals 1500

Combination 0x100 + 0x150 + 1x230 + 4x240 + 1x300 equals 1490

Combination 0x100 + 0x150 + 2x230 + 1x240 + 1x300 equals 1000

Combination 0x100 + 0x150 + 3x230 + 0x240 + 1x300 equals 990

Combination 0x100 + 1x150 + 0x230 + 1x240 + 2x300 equals 990

Combination 0x100 + 2x150 + 0x230 + 0x240 + 4x300 equals 1500

Combination 0x100 + 2x150 + 0x230 + 5x240 + 0x300 equals 1500

.

.

.

 

Combination 10x100 + 0x150 + 0x230 + 0x240 + 0x300 equals 1000

Combination 11x100 + 1x150 + 0x230 + 1x240 + 0x300 equals 1490

Combination 12x100 + 0x150 + 0x230 + 0x240 + 1x300 equals 1500

Combination 12x100 + 2x150 + 0x230 + 0x240 + 0x300 equals 1500

Combination 15x100 + 0x150 + 0x230 + 0x240 + 0x300 equals 1500

Number of combinations =77

 

 

 

Σου εμφανίζει μόνο όσους συνδυασμούς αποτελούνται από 1,2,3 ή 4 πολλαπλάσια. (το ένα δηλαδή από τα 5 να είναι 0)

Δημοσ.

migf1 : Το κακο ειναι οτι το input δε χωραει εγγυημενα (αν δε γινεται με καμια δυναμη μπορει να αυξηθει καποιο απο τα ειδη πχ αντι για 20 σοκολατες των 300γρ να μπουνε 21-22, παντα περισσοτερο και οχι λιγοτερο)

 

GKNSB : ναι κατι τετοιο αλλα σε καποιες περιπτωσεις πρεπει να ειναι η στο αθροισμα 1000 ή στο 1000 και 1500 δηλαδη υπαρχει περιπτωση να ειναι μονο στο 1000 ολα

ή να ειναι και στο 1000 και στο 1500

Δημοσ.

Ωραία σε αυτή την περίπτωση απλά παίζεις με τα if. Τι θέλεις να κάνεις ακριβώς ακόμα δεν έχω καταλάβει.

Θέλεις να παίρνει όλα τα στοιχεία σαν input? Θέλεις να είναι στάνταρ τιμές? Οι σχέσεις μεταξύ τους και οι παράμετροι των

συγκρίσεων θέλεις να αλλάζουν ανάλογα με κάποιο input από το χρήστη?

Δημοσ.

To input θα ειναι καποια γραμμαρια οχι στανταρ

πχ 15 των 100

20 των 230

14 των 180

σε κουτια των 1000γρ μονο

 

ή

πχ 10 των 120

20 των 250

16 των 190

12 των 230

σε κουτια των 1000γρ ή των 1500γρ

 

τα γραμμαρια του καθε ειδους θα τα δινει ο χρηστης

Δημοσ.

Ωραία.

 

 

Και σαν αποτέλεσμα τι θα δίνει? Με πόσους τρόπους μπορεί να μπουν αυτά τα αντικείμενα στα κουτιά?

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...