![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Witam, mam za zadanie napisać następujący skrypt. W tablicy mam pewien zbiór liczb. Jest ich około 20. przedział to 100-5000.
Muszę z tej tablicy wybrać taką kombinację dowolnych liczb, aby ich suma była wielokrotnością 1000 (zapewne trzeba użyć "%"). Jak podejść do takiego zagadnienia skryptu. Z góry dzięki za pomysły. |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Hmmm... Nie jest to najszybszy, ale zapewne zdziała coś.
Zaleznie od tego czy liczby mogą się powtarzać czy nie będzie to nieco inaczej wyglądało przy operowaniu elementami. 1. Bierzemy liczbę z gotowych elementów i wstawiamy go do nowej tablicy. 2. Jeśli nie może się powtarzać to usuwamy go z tablicy gotowych. 3. Sumujemy nową tablicę i robimy modulo 1000. 4. Jeśli wyjdzie 0 -> kończymy i możemy sobie te liczby wyświetlić. 5. Sprawdzamy czy tablica gotowców ma choć jeden element. 6. Jeśli nie to resetujemy obie tablice i "zaczynamy od nowa" 7. Jeśli tak to idziemy do kroku 1 EDIT: Byłbym zapomniał dodać... Losowanie (i usuwanie jeśli tylko raz można użyć danej liczby) z tablic oraz dodawanie do drugiem można rozwiązać na wiele sposobów i tu już można popuścić fantazji nieco. Jeśli każdej można użyć tylko raz to można użyć choćby array_pop, array_push i array_shuffle (IMG:style_emoticons/default/smile.gif) Wariacji na temat losowania z tablicy może być tyle ilu programistów zechce do tego siąść (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował thek 20.11.2009, 19:33:10 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 12:10 |