Другие языки программирования и технологии

Составить программу, печатающую значение true, если указанное явление истинно, и false в противном случае.

Составить программу, печатающую значение true, если указанное явление истинно, и false в противном случае:
цифры данного четырехзначного числа N являются членами геометрической прогрессии.
На языке Паскаль!
abcd — число
Из них можно получить 12 чисел, сгруппировав их по 3, и попытаться составить из них равенство.
Числа:
x1 = b/a
y1 = c/a
z1 = d/a
x2 = a/b
y2 = c/b
z2 = d/b
x3 = a/c
y3 = b/c
z3 = d/c
x4 = a/d
y4 = b/d
z4 = c/d
А дальше просто группировать и сравнивать.
И так несколько раз для всех вариантов.

Аааа, прошу прощенья, не сказано же, что они подряд идут друг за другом. Тогда всё сложнее. Нужно найти наименьшее из соотношений и попытаться с его помощью от наименьшей цифры построить прогрессию, в которую входят другие цифры
Но если подумать, то мы не можем использовать в качестве множителя тройку и дробные числа. Остаются только 1 и 2. Для 1 получаем 1111, а для 2 — 1248 и их комбинации.
Ещё число, содержащее ноль, не подходим нам сразу, такие числа сразу в false
Короче, реши сперва аналитически.
1111
1248
1284
1428
1482
1824
1842
2148
2184
2481
2418
2841
2814
4182
4128
4281
4218
4812
4821
8124
8142
8241
8214
8412
8421
АМ
Алексей Максимов
90 914
Лучший ответ
Ильхом Джалилов Проще сначала отсортировать числа по их модулям (на случай отрицательного множителя).
Ильхом Джалилов А впрочем, невнимательно прочитал. Отрицательными цифры быть не могут, можно без модуля.
Олег Горковенко 1111 есть - а где же 2222, 3333, ..Не все нашел, это точно.
Таких чисел не так уж и много. С учетом слова "являются", а не "образуют" - чуть больше, но не на много. 33 всего, если бы образовывали - было бы 11.
Алексей
Алексей
58 784
Артур Минсалимов похоже, я нашёл не все числа?