整数Nが1以上9以下の2つの整数の積になるかを判定する問題です。
提出
n = int(input())
for i in range(1, 10):
for j in range(1, 10):
if i * j == n:
print("Yes")
exit(0)
print("No")
与えられるものは整数Nのみです。
掛け算の九九を全て試してみても81通りなので、for文を用いて全部試してみます。
range()関数の2つ目の引数は含まれないので注意が必要です(9を指定してしまうと、8までしか処理されない)。
2つ掛け合わせてnになるものがあった場合、「Yes」と出力してプログラムを終了させます。
プログラムが終了せずにfor文が全て処理された場合、整数Nは2つの整数の積ではないため、「No」と出力します。
if文での条件を以下のようにすると、for文が1つでも可能です。
提出
n = int(input())
for i in range(1, 10):
if n % i == 0 and n // i <= 9:
print("Yes")
exit(0)
print("No")