PHPackages                             s123/icontexttest - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. s123/icontexttest

ActiveLibrary

s123/icontexttest
=================

test task for vacancy

011PHP

Since Jul 17Pushed 6y agoCompare

[ Source](https://github.com/0TH0N/icontext-test-task)[ Packagist](https://packagist.org/packages/s123/icontexttest)[ RSS](/packages/s123-icontexttest/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Тестовое задание для вакансии в компании iConText.

Задание следующее:

**Введение**

Есть 36 ячеек (ноль не считаем) и 18 фишек. В одну ячейку можно положить только одну фишку. Пример разложения:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ... 36

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $

Нужно найти и сложить в тестовый файл все возможные варианты таких разложений.

**Задача**

Вход - два целых числа: fieldsCount - количество ячеек, chipCount - количество фишек (нужен какой-то интерфейс). Требуется предоставить все возможные способы расстановки всех фишек по ячейкам. В одну ячейку можно положить только одну фишку.

Выход - текстовый файл, в первой строке указывающий число вариантов, а далее содержащий все подходящие варианты. Если вариантов менее 10, файл должен содержать только текст "Менее 10 вариантов". Приветствуется самый быстрый и функциональный (протестированный относительно входных данных) вариант.

**РЕШЕНИЕ:**

Пакет опубликован в Composer

Установка глобально: "composer global require s123/icontexttest:dev-master" . Впервые столкнулся с реализацией консольной утилиты на PHP, намучался с допиливанием её для работы при глобальной установке с публичного репозитория composer-а. Локально в среде разработки все работало сразу :) Подавляющее большинство коммитов это попытка таки запустить это приложение в консоли при глобальной установке.

В репозитории также есть четыре файла, pishi-suda-little.txt , pishi-suda-10.txt , pishi-suda.txt и pishi-suda-big.txt, результаты работы программы. На случай если нужно посмотреть на вывод, но не хочется ставить этот пакет себе на машину.

Программа работает через командную строку. Первым параметром принимает количество ячеек, вторым параметром количество фишек, третий параметр необязательный, имя файла куда необходимо записывать результаты. По-умолчанию записывает в файл "result.txt" в текущей директории.

Задачу решил "в лоб" простым перебором. Возможно и есть какие-то хитрые решения основанные на высшей математике, теории множеств и т.д., но я в этом не силен.

Также учтены варианты на различные окончания слова "вариант" в первой записи файла:

\*1 - вариант

\*2, \*3, \*4 - варианта

остальное - вариантов

11, 12, 13, 14 это исключения - вариантов

Операции чтения и записи файлов происходят небольшими кусками во избежании исчерпания ресурсов оперативной памяти и зависания компьютера.

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/30dd45bc3ca87dc9f785cb60527185b60f4526518fa84504bd688f80c4a3ff00?d=identicon)[jbator777](/maintainers/jbator777)

---

Top Contributors

[![0TH0N](https://avatars.githubusercontent.com/u/43131356?v=4)](https://github.com/0TH0N "0TH0N (32 commits)")

### Embed Badge

![Health badge](/badges/s123-icontexttest/health.svg)

```
[![Health](https://phpackages.com/badges/s123-icontexttest/health.svg)](https://phpackages.com/packages/s123-icontexttest)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
