Задача 6. Таблица за умножение
Loading...
kirilof93 avatar kirilof93 1 Точки

Python - Multiply table

Здравейте, за пореден път решавам задача вярно, с точните аутпути от условието, и въпреки това получавам (в случая 0т.) непълен брой точки от Джъдж системата! Някой може ли да ми каже защо на този работещ код не ми дава никакви точки?

n = int(input())

for x3 in range(1, n % 10 + 1):
    if x3 <= n / 10:
        for x2 in range(1, 3):
            if x2 <= n / 100:
                for x1 in range(1, 4):
                    if x1 <= n % 10:
                        result = x1 * x2 * x3
                    if x3 * x2 * x1 == result:
                        print(f"{x3} * {x2} * {x1} = {result};")

 

 

Задача 6. Таблица за умножение

Най-малкият син на сем. Иванови все още не знае таблицата за умножение. Веднага след коледните празници, той ще има контролно и вие трябва да му помогнете да я научи. Вашата задача е да съставите програма, в която се въвежда цяло трицифрено число, и се извежда таблицата за умножение. Поради особености на вашата програма вземаме цифрите на въведеното число в обратен ред. Максималната стойност на множителите е определена от всяка една от 3-те цифри на въведеното число.

Вход

Входът е цяло трицифрено число в интервала [111…999].

Изход

Да се отпечатат на конзолата няколко на брой реда в следния формат:

{първата цифра} * {втората цифра} * {третата цифра} = {резултатът от умножението на трите цифри}

Първата, втората и третата цифра не могат да бъдат отрицателно или равно на 0 число!

 

 

Примерен вход и изход

Вход

Изход

Обяснения

Вход

Изход

324

1 * 1 * 1 = 1;

1 * 1 * 2 = 2;

1 * 1 * 3 = 3;

1 * 2 * 1 = 2;

1 * 2 * 2 = 4;

1 * 2 * 3 = 6;

2 * 1 * 1 = 2;

2 * 1 * 2 = 4;

2 * 1 * 3 = 6;

2 * 2 * 1 = 4;

2 * 2 * 2 = 8;

2 * 2 * 3 = 12;

3 * 1 * 1 = 3;

3 * 1 * 2 = 6;

3 * 1 * 3 = 9;

3 * 2 * 1 = 6;

3 * 2 * 2 = 12;

3 * 2 * 3 = 18;

4 * 1 * 1 = 4;

4 * 1 * 2 = 8;

4 * 1 * 3 = 12;

4 * 2 * 1 = 8;

4 * 2 * 2 = 16;

4 * 2 * 3 = 24;

Вземаме цифрите от числото както следва: неговата последна за първо, средната за второ, и първата за трето число.

222

1 * 1 * 1 = 1;

1 * 1 * 2 = 2;

1 * 2 * 1 = 2;

1 * 2 * 2 = 4;

2 * 1 * 1 = 2;

2 * 1 * 2 = 4;

2 * 2 * 1 = 4;

2 * 2 * 2 = 8;

0
Python
mark79 avatar mark79 561 Точки

Здравей, ето ти едно бързо решение.

Извинявам се, че сега нямам време да гледам кода ти!

number = int(input())

first_digit = number % 10
second_digit = number // 10 % 10
third_digit = number // 100 % 10

for num1 in range(1, first_digit + 1):
    for num2 in range(1, second_digit + 1):
        for num3 in range(1, third_digit + 1):
            result = num1 * num2 * num3
            print(f"{num1} * {num2} * {num3} = {result};")

 

0