Занимательные задачи PHP
334 subscribers
1 photo
13 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят по будням в 14.00.
Download Telegram
Задача 45
Подсчет многомерного массива

Дан многомерный массив. Подсчитайте количество элементов, не являющихся массивами, во всех уровнях вложенности.
👍3🕊1
Задача 46
Сложность пароля

Проверьте сложность пароля. Сложный пароль - это пароль с маленькими латинскими, большими латинскими буквами, цифрами и спецсимволами. Придумайте свои критерии, например, не должно идти несколько одинаковых символов подряд и так далее.
При решении задачи указывайте свои критерии также.
👍5🕊1
Задача 47
Проникновение массивов

Напишите функцию, которая параметрами будет принимать два массива:
<?php
$res = func([1, 2, 3], ['a', 'b', 'c']);
?>

А в качестве результата сливать эти массивы таким образом:
<?php
var_dump($res); // [1, 'a', 2, 'b', 3, 'c']
?>
👍4🕊1
Задача 48
Частотная сортировка массива

Написать функцию, на вход которой подается массив с числовыми элементами. Функция должна вернуть отсортированный массив по частоте повтора элементов в нем.

Пример. На вход функции подаем следующий массив:
[5, 9, 2, 4, 1, 2, 5, 8, 2, 2, 8, 4, 5]

В результате после сортировки получим следующий массив:
[2, 2, 2, 2, 5, 5, 5, 4, 4, 8, 8, 9, 1]
👍2🕊1
Задача 49
Найти все целые решения

Найдите все ЦЕЛЫЕ решения уравнения x^y = y^x.
👍2🕊1
Задача 50
Дружественные числа

Сделайте функцию, которая будет проверять, являются ли два числа дружественными.
👍3🕊1
Задача 51
Совершенные числа

Сделайте функцию, которая будет проверять, является ли число совершенным.
👍2🕊1
Задача 52
Рост массива с исключением

Дан массив с числами. Проверьте, что элементы массива выстроены по возрастанию. Допустимо, однако, одно место, в котором следующий элемент меньше предыдущего.

Задача с реального проекта, анализ ставок тотализатора, дана в упрощенном виде.
👍2🕊1
Задача 53
Увеличение цены в тексте

Дана строка с текстом. В этом тексте есть цены в долларах:
'текст 10$ текст 20$';

Найдите все цены в этой строке и увеличьте их на 10%:
'текст 11$ текст 22$';
👍1🕊1
Задача 54
Добрый unique

Сделайте функцию, которая будет удалять дубли, встречающиеся более 3-х раз.
👍1🕊1
Задача 55
Уровень вложенности многомерного массива

Дан произвольный многомерный массив. Определите максимальный уровень вложенности этого массива.
👍1🕊1
Задача 56
N случайных элементов массива

Дан массив. Запишите в другой массив N случайных элементов из него так, чтобы один элемент был использован только один раз.
🕊1
Задача 57
Количество единиц

Найдите суммарное количество единиц в числах от 1 до 100.
🕊1
Задача 58
Подсчет слов, начинающихся на букву

Напишите функцию, которая подсчитает, сколько слов в строке начинаются на заданную букву.
👍2🕊1
Задача 59
Варианты товаров

Дан массив товаров с ценами. Дана сумма. Выведите все возможные комбинации товаров, которые можно купить на эту сумму.
👍4👻2🕊1
Задача 60
Треугольник Паскаля

Нарисуйте в браузере треугольник Паскаля произвольного размера.
👍2🕊1
Задача 61
Имена файлов в транслит

Напишите скрипт, который считывает название файлов из папки и, если эти названия на русском, меняет их на транслит.
👍2🕊1
Задача 62
Периодические дроби

Реализуйте функцию, которая будет принимать два целых числа, и проверять, результатом деления получается периодическая дробь или нет.
👍2🕊1
Задача 63
Подсчет слов, заканчивающихся на букву

Напишите функцию, которая подсчитает, сколько слов в строке заканчиваются на заданную букву.
👍2🕊1
Задача 64
Периодические дроби

Реализуйте функцию, которая будет принимать два целых числа, а возвращать результат деления одного на второе. При этом, если получается периодичская дробь, то ответ следует вывести примерно в таком виде: 1.(428571).
👍1🕊1
Задача 65
Множественное число англ. слов

Напишите функцию, которая из единственного числа английского существительного делает множественное. Не забудьте про слова-исключения.
💊2🕊1