Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Prosty skrypcik - prośba
peb
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

Ostrzeżenie: (0%)
-----


Witam serdecznie

Mam prośbę o nakierowanie mnie na rozwiązanie.
Oto problem:
mam 10 różnych liczb i potrzebuję je dodać do siebie we wszystkich możliwych kombinacjach, problem polega na tym, że nie chodzi tylko o kombinacje "dwójek" bo mogą to być również inne.

Przykładowo jeśli liczby opisane są jako:
A
B
C
D
E
F
G
H
I
J
to suma ma być nie tylko A+B ale może być również A+B+C+H+J itd.

Jeśli ktoś umie mi podpowiedzieć w jakim kierunku pójść będę bardzo wdzięczny.

Dzięki za poświęcony czas.

Pozdrawiam
Rafał
Go to the top of the page
+Quote Post
timon27
post
Post #2





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. for($i0=0;$i0<2;$i0++){for($i1=0;$i1<2;$i1++){for($i2=0;$i2<2;$i2++){for($i3=0;$i3<2;$i3++){for($i4=0;$i4<2;$i4++){
  2. for($i5=0;$i5<2;$i5++){for($i6=0;$i6<2;$i6++){for($i7=0;$i7<2;$i7++){for($i8=0;$i8<2;$i8++){for($i9=0;$i9<2;$i9++){
  3. $wynik[]=$A*$i0+$B*$i1+$C*$i2+$D*$i3+$E*$i4+$F*$i5+$G*$i6+$H*$i7+$I*$i8+$J*$i9;
  4. }}}}}}}}}}



W tablicy wynik masz 1024 różne wyniki.

Część się może powtarzać.
Jak chcesz usunąć powtórki to posortuj i pousuwaj w pętli.

Ten post edytował timon27 8.06.2014, 20:46:16
Go to the top of the page
+Quote Post
Xart
post
Post #3





Grupa: Zarejestrowani
Postów: 267
Pomógł: 6
Dołączył: 8.04.2013

Ostrzeżenie: (0%)
-----


Lool przecierz ten skrypt jest ze sredniowiecza o.O slowo kluczowe var (IMG:style_emoticons/default/questionmark.gif) W php uzywa sie $......
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


@Xart
akurar var wywodzi się z OOP kiedy jeszcze nie było PHP5
http://stackoverflow.com/questions/1206105...-keyword-var-do
Go to the top of the page
+Quote Post
peb
post
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

Ostrzeżenie: (0%)
-----


Cytat(timon27 @ 8.06.2014, 21:32:48 ) *
  1. for($i0=0;$i0<2;$i0++){for($i1=0;$i1<2;$i1++){for($i2=0;$i2<2;$i2++){for($i3=0;$i3<2;$i3++){for($i4=0;$i4<2;$i4++){
  2. for($i5=0;$i5<2;$i5++){for($i6=0;$i6<2;$i6++){for($i7=0;$i7<2;$i7++){for($i8=0;$i8<2;$i8++){for($i9=0;$i9<2;$i9++){
  3. $wynik[]=$A*$i0+$B*$i1+$C*$i2+$D*$i3+$E*$i4+$F*$i5+$G*$i6+$H*$i7+$I*$i8+$J*$i9;
  4. }}}}}}}}}}



W tablicy wynik masz 1024 różne wyniki.

Część się może powtarzać.
Jak chcesz usunąć powtórki to posortuj i pousuwaj w pętli.



Bardzo dziękuję działa, mam jednak jeszcze jedną prośbę czy dałoby się zmusić go do tego żeby przy wyniku dodawania wypisał jakie liczby dodał do siebie.

Z góry dzięki:)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie przesadzasz troche? Zwyklego ECHO nie umiesz zrobic?
Go to the top of the page
+Quote Post
peb
post
Post #7





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

Ostrzeżenie: (0%)
-----


[html][/html]
Cytat(nospor @ 9.06.2014, 12:17:02 ) *
Nie przesadzasz troche? Zwyklego ECHO nie umiesz zrobic?

Nie wiem czy dobrze zrozumiałeś pytanie ale nie chodzi mi o wynik ale o info które liczby dodane do siebie dały ten wynik.

Ponadto wydaje mi się, że uszczypliwość jest zbędna, wystarczy nie odpowiadać jeśli nie chcesz.

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale o info które liczby dodane do siebie dały ten wynik.
No ale chyba widzisz co dodajesz, wiec wiesz co masz wyswietlic.

Cytat
Ponadto wydaje mi się, że uszczypliwość jest zbędna, wystarczy nie odpowiadać jeśli nie chcesz.
To nie byla uszczypliwosc a zwykle pytanie: nie umiesz zrobic ECHO?
Go to the top of the page
+Quote Post
peb
post
Post #9





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 3.11.2011

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 9.06.2014, 12:28:46 ) *
No ale chyba widzisz co dodajesz, wiec wiesz co masz wyswietlic.

Jak wypiszę tablicę to otrzymuję 1024 wyników, kombinacji jest więc sporo. Przy dużych liczbach uwierz mi, że nie zawsze da się odgadnąć które liczby ze zmiennych dodał do siebie, żeby otrzymać wynik i stąd pytanie.

Cytat
To nie byla uszczypliwosc a zwykle pytanie: nie umiesz zrobic ECHO?

Tego już nie ciągnę bo może to ja źle zrozumiałem:)
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to chyba ja teraz nie rozumiem....

Skoro masz: $wynik[]=$A*$i0+$B*$i1+$C*$i2+$D*$i3+$E*$i4+$F*$i5+$G*$i6+$H*$i7+$I*$i8+$J*$i9;
to przeciez widzisz co dodajesz. Wyswietlaj wiec to sobie

$wynik[]=$A*$i0+$B*$i1+$C*$i2+$D*$i3+$E*$i4+$F*$i5+$G*$i6+$H*$i7+$I*$i8+$J*$i9;
echo $A*$i0;
echo $B*$i1;
itd....
Go to the top of the page
+Quote Post
markuz
post
Post #11





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


  1. $data[] = array(
  2. 'wynik' => $A*$i0+$B*$i1+$C*$i2+$D*$i3+$E*$i4+$F*$i5+$G*$i6+$H*$i7+$I*$i8+$J*$i9;,
  3. 'dzialanie' => $A.'*'.$i0.'+' {....}
  4. );


potem robisz echo $data[i]['dzialanie'];
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 21:40