[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как делать додавание чисел по кругу
Тарас
Подскажите как делать додавание чисел по кругу
Например существуют такие числа 1,2,4
Из них получится следующие:
3 = 1 +2
7 = 1 +2 +4
5 = 1 +4
6 = 1 +4 +1

или такие числа:

2,3,1,7

5 = 2 +3, 6 = 2 +3 +1; 13 = 2 +3 +1 +7
3 = 2 +1, 10 = 2 +1 +7; 12 = 2 +1 +7 +2
9 = 2 +7; 11 = 2 +7 +2, 14 = 11 +3

Я не знаю как это зациклить а в ручную много писать. Спасибо буду очень признателен

также прилагаетса рисунок:http://saveimg.ru/show-image.php?id=642f087b2d8033182cffb6c9ccec623d
hydrogen
$base_numbers = array(1, 3, 10, 2, 5);
$increment_matrix = array();

$summ = 0;

foreach ($base_numbers as $base_number) {
$next_number = $summ + $base_number;
$increment_matrix[] = $next_number;
$summ += $next_number;
}

array_shift($increment_matrix);

Вроде так. Проверь.

P.S. Похоже на задание для какого-нибудь конкурса/олимпиады... :)

_____________
Guest
Задача не олимпиадная для контрольной робот.

<?
$base_numbers = array(1, 3, 10, 2, 5);
$increment_matrix = array();

$summ = 0;

foreach ($base_numbers as $base_number) {
$next_number = $summ + $base_number;
$increment_matrix[] = $next_number;
$summ = $next_number;
}

array_shift($increment_matrix);


echo "<pre>";
print_r($increment_matrix);
echo "</pre>";

?>

$summ += $next_number; поменял на $summ = $next_number;

виводит толька первий 4 числа а не все 16

Может я не так виводжу
hydrogen
Цитата
$summ += $next_number; поменял на $summ = $next_number;

Пардон, $summ += $base_number;

foreach ($base_numbers as $base_number) {
$increment_matrix[] = $summ + $base_number;
$summ += $base_number;
}


Цитата
виводит толька первий 4 числа а не все 16

А в $base_numbers пробовал все 16 прописать? laugh.gif

_____________
Guest
Да замечатльно но не до конца :

из введених 5ти елементов
должна получитса матрица 4 на 4 :

4 14 16 21
11 13 18 19
3 8 9 12
6 7 10 20

а виводит толька
4 14 16 21

канешно можна ввести вот так

<?
$base_numbers = array(1, 3, 10, 2, 5);
$increment_matrix = array();
$summ = 0;

foreach ($base_numbers as $base_number) {
$increment_matrix[] = $summ + $base_number;
$summ += $base_number;
}
array_shift($increment_matrix);

echo "<pre>";
print_r($increment_matrix);
echo "</pre>";

$base_numbers = array(1, 10, 2, 5, 1);
$increment_matrix = array();
$summ = 0;

foreach ($base_numbers as $base_number) {
$increment_matrix[] = $summ + $base_number;
$summ += $base_number;
}

array_shift($increment_matrix);

echo "<pre>";
print_r($increment_matrix);
echo "</pre>";

?>

// Канешно можна ввести вот так, приетом менятьсодержимое масива $base_numbers();
сперва
$base_numbers = array(1, 3, 10, 2, 5);
потом
$base_numbers = array(1, 10, 2, 5, 1);
и так далие

Но может єсть какойто другой способ
Guest

решыл проблему, всем Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.