Загадка суммы и произведения

FastCode 63 8

Пусть x и y два целых числа 1 < = x < = y притом x + y < = 100.
Салли сказали только сумму x + y, а вот Полю произведение xy.
Салли и Пол честнейшие ребята, это всем известно, они и друг другу отродясь не врали.
И вот такой вышел у них разговор:
Пол: «Не знаю я, что это за числа.»
Салли: «Тоже новость. Я знаю, что ты не знаешь.»
Пол: «Ну твоя то сумма мне теперь известна.»
Салли: «Да уж и мне теперь твое произведение.»
Каковы числа?

ВЫБРАТЬ 0 КАК Х
ПОМЕСТИТЬ Бит
ОБЪЕДИНИТЬ ВЫБРАТЬ 1
;
ВЫБРАТЬ    Бит0.Х + 2 * (Бит1.Х + 2 * (Бит2.Х + 2 * (Бит3.Х + 2 * (Бит4.Х + 2 * (Бит5.Х + 2 * Бит6.Х))))) КАК Х
ПОМЕСТИТЬ Ряд
ИЗ Бит КАК Бит6, Бит КАК Бит5, Бит КАК Бит4, Бит КАК Бит3, Бит КАК Бит2, Бит КАК Бит1, Бит КАК Бит0
;
ВЫБРАТЬ Ряд1.Х КАК Х, Ряд2.Х КАК У, Ряд1.Х + Ряд2.Х КАК Сумма, Ряд1.Х * Ряд2.Х КАК ХУ
ПОМЕСТИТЬ Пробы
ИЗ Ряд КАК Ряд1, Ряд КАК Ряд2
ГДЕ 1 < Ряд1.Х И Ряд1.Х < Ряд2.Х И Ряд1.Х + Ряд2.Х <= 100
;
ВЫБРАТЬ РАЗЛИЧНЫЕ Сумма
ПОМЕСТИТЬ ТабуСумм
ИЗ Пробы
ГДЕ ХУ В (ВЫБРАТЬ ХУ ИЗ Пробы СГРУППИРОВАТЬ ПО ХУ ИМЕЮЩИЕ КОЛИЧЕСТВО(*) = 1)
;
ВЫБРАТЬ    ХУ КАК Произведение
ПОМЕСТИТЬ ЧислаПоля
ИЗ Пробы
ГДЕ    НЕ Сумма В (ВЫБРАТЬ * ИЗ ТабуСумм)
СГРУППИРОВАТЬ ПО ХУ
ИМЕЮЩИЕ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Сумма) = 1
;
ВЫБРАТЬ Сумма, МАКСИМУМ(Произведение), МАКСИМУМ(Х), МАКСИМУМ(У)
ИЗ Пробы ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЧислаПоля ПО ХУ = Произведение
ГДЕ НЕ Сумма В (ВЫБРАТЬ * ИЗ ТабуСумм)
СГРУППИРОВАТЬ ПО Сумма
ИМЕЮЩИЕ КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Произведение) = 1

Автор: ildarovich

TurboConf - расширение Конфигуратора 1С

Похожие публикации

Пересчет сумм в табличной части документа

Cформировать сумму строкой в договор

Модератору