PHP Challenges: проверить последовательность чисел это геометрическая прогрессия или нет
Задачи PHP - 1: Упражнение 16 с решением
Написать PHP-программу для проверки последовательности чисел - это геометрическая прогрессия или нет.
Вход: массив (2, 6, 18, 54)
В математике геометрическая прогрессия или геометрическая последовательность - это последовательность чисел, в которой каждый член после первого находится путем умножения предыдущего на фиксированное ненулевое число, называемое общим отношением. Например, последовательность 2, 6, 18, 54, ... является геометрической прогрессией с общим отношением 3. Аналогично, 10, 5, 2.5, 1.25, ... является геометрической последовательностью с общим отношением 1/2.
Пояснение:
Пример решения :
PHP-код:
<?php
function is_geometric($arr)
{
if (sizeof($arr) <= 1)
return True;
# Calculate ratio
$ratio = $arr[1]/$arr[0];
# Check the ratio of the remaining
for($i=1; $i<sizeof($arr); $i++)
{
if (($arr[$i]/($arr[$i-1])) != $ratio)
{
return "Not a geometric sequence";
}
}
return "Geometric sequence";
}
$my_arr1 = array(2, 6, 18, 54);
$my_arr2 = array(10, 5, 2.5, 1.20);
print_r(is_geometric($my_arr1)."\n");
print_r(is_geometric($my_arr2)."\n");
?>
Пример вывода:
Геометрическая последовательность Не геометрическая последовательность
Блок - схема:
Редактор кода PHP:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу PHP, чтобы проверить последовательность чисел, является арифметической прогрессией или нет.
Далее: Напишите программу PHP, которая вычислит сумму двух обратных чисел и отобразит сумму в обратной форме.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования