2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2
 
 Re: Решите ребус
Сообщение04.12.2018, 00:53 
Аватара пользователя
На питоне можно так:
Используется синтаксис Python
a=1
b=1
while a*b<999:
    a+=1
    while a*b<999:
        if ((a % 10 == a*b // 100) and (a // 10 == a*b % 10) and (a % 10 != a // 10) and (abs(a*b // 10 - (a*b // 100)*10) != b // 10) and (abs(a*b // 10 - (a*b // 100)*10) != a // 10) and (abs(a*b // 10 - (a*b // 100)*10) != b % 10) and (abs(a*b // 10 - (a*b // 100)*10) != a % 10) and (a % 10 != b % 10) and (a // 10 != b // 10) and (a // 10 != b % 10) and (a % 10 != b // 10) and (b % 10 != b // 10) and (a<100) and (b<100)):
            print(a, "*", b, "=", a*b)
        b+=1
    b=1
 

Если ввести string, if запишется короче.

 
 
 
 Re: Решите ребус
Сообщение04.12.2018, 10:38 
JohnDou в сообщении #1358646 писал(а):
На питоне можно так:

Как-то вот обскьюрно, почему б не завести переменные ya,yo,zh и т.п., разложить произведение сразу на цифры и т.п. Цикл у вас идет например по a*b=1*999 хотя известно что $a,b<100$ а эта проверка у вас в самом конце. Не знаю как работает логика в питоне, оно там все проверяет или слева направо и останавливается сразу как только стало понятно что выражение ложное?

Я к тому, что ежели потребуется проверить не
$$\text{ЯД}\cdot\text{ЁЖ}=\text{ДЛЯ}$$
а например
$$\text{ЯД}\cdot\text{ЁЖ}=\text{ЛЁД}$$
то ваш код замучаешься править...

 
 
 
 Re: Решите ребус
Сообщение04.12.2018, 23:02 
Аватара пользователя
wrest, да, вы правы. Будет проще начать сначала, нежели пытаться что-то исправить.

 
 
 [ Сообщений: 18 ]  На страницу Пред.  1, 2


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group