Необходимо без циклов,только одним-единственным выражением с поддержкою операций +, -, *,

Нужно без циклов,только одним-единственным выражением с помощью операций +, -, *, //, % вывести выражение, которое напечатает 'NO', если A не делится на B.
Эта задачка кусок от иной.выражение, которое печатает 'YES' в случае если A кратно B я вывела. мысль в том,чтобы требуемое выражение для варианта "не делится" давала 1 если A НЕ кратно B, и 0 если кратно. прикрепляю своё решение для 'YES'
A = int(input())
B = int(input())
print( 'YES' * (((A // B) - (A % B)) // (A // B)) )
print('NO'*(((A + A % B) // B) // (A // B))) ---- не работает

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

Задать свой вопрос
Гена Пихтарь
<...>Эта задачка кусок от другой.выражение, которое печатает 'YES' в случае если A кратно B я вывела. мысль в том,чтоб требуемое выражение для варианта "не делится" давала 1 если A НЕ кратно B, и 0 если кратно. прикрепляю своё решение для 'YES'A = int(input())B = int(input())print( 'YES' * (((A // B) - (A % B)) // (A // B)) )<...>
Надежда Кудимова
о боже. далее пишу то, что нужно от решения иного человека. чтобы ЕГО выражение для NO выдавало 0 и 1 в конкретных случаях
Константин Сафьянов
Выражение при YES при скажем а=7 и b=4 минус два даёт итог. Трудно это не считать читерскими штуковинами. Как в питоне NO сделать я знаю но это не ноль и единица будет .
Антон Закобуня
Для варианта, когда а=18 и b=7, питон не выдаст 'YES', поэтому что итог вычислений -1. Умножение строчки на отрицательное число даёт порожнюю строчку
Павел Шимайский
Простите, ступил
1 ответ
Ловите решение.

Задачка сложна тем, что остаток от дробленья может быть может быть хоть каким, от 1 до B-1. Потому она свелась к тому, чтоб Хоть какое число представить как 1. А нуль бросить нулём. Простым решением этой подзадачи появилось последующее: ( (Х + 2) // (Х + 1) ) % 2. В таком случае при Х = 0 левая часть выражения становится одинакова 2 и итог вычислений - 0. А при любом ином числе левая часть равна 1 и итог вычислений тоже будет 1. Теперь осталось выразить Х через А и В.

(((А % В) + 2) // ((А % В) + 1)) % 2.

Но, следует держать в голове, что % - это операция дробления, и при В = 0 интерпретатор либо компилятор выдаст ошибку.

Для варианта с YES можно было бы использовать print('YES' * 1 - (А % В)).
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт