Вызовы PHP: Получите числа Хемминга до заданных чисел, а также проверьте, является ли данное число числом Хемминга
Задачи PHP - 1: упражнение 20 с решением
Напишите программу на PHP, чтобы получить числа Хемминга до заданных чисел, а также проверить, является ли данное число числом Хемминга.
Вход: 1
Числа Хэмминга - это числа вида
H = 2 i × 3 j × 5 k
Где i, j, k ≥ 0
Последовательность чисел Хэмминга 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27 ... состоит из всех чисел вида 2i • 3j • 5k, где i, j и k - неотрицательные целые числа.
Пояснение:
Пример решения :
PHP-код:
<?php
function is_hamming_numbers($x)
{
if ($x == 1)
{
return "Hamming Number";
}
if ($x % 2 == 0)
{
return is_hamming_numbers($x/2);
}
if ($x % 3 == 0)
{
return is_hamming_numbers($x/3);
}
if ($x % 5 == 0)
{
return is_hamming_numbers($x/5);
}
return "Not a Hamming Number";
}
function hamming_numbers_sequence($x)
{
if ($x == 1)
{
return "Hamming Number";
}
hamming_numbers_sequence($x-1);
if (is_hamming_numbers($x) =="Hamming Number")
{
echo($x).",";
}
}
print_r(is_hamming_numbers(7)."\n");
print_r(is_hamming_numbers(1)."\n");
hamming_numbers_sequence((24).("\n"));
?>
Пример вывода:
Не число Хэмминга Число Хэмминга 2,3,4,5,6,8,9,10,12,15,16,18,20,24
Блок - схема:
Редактор кода PHP:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу PHP, чтобы проверить, является ли данное число уродливым числом.
Далее: Напишите программу PHP, чтобы проверить, является ли данная строка анаграммой другой данной строки.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования