【问题描述】
输入三位数字N,求两位数AB(其中个位数字为B,十位数字为A,且有0 < A < B <=9)。使得下列等式成立:
AB x BA = N
其中BA是把AB中个、十位数字交换所得的两位数。
编写程序,接收控制台输入的三位整数N,求解A,B并输出。
如果没有解则输出No Answer。
【输入形式】
从键盘输入整数N。
【输出形式】
输出只有一行,包含两个数字A和B。输出时两个数字紧密输出,不使用其它字符进行分隔。
【样例输入】
976
【样例输出】
16
【样例说明】
输入整数N=976。经计算得16*61=976。可得a=1, b=6。将两个字符依次输出。
参考代码:
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 10 17:11:43 2018
@author: Dina
"""
N = int(input())
count = 0
temp_list =[]
for i in range(1,N):
temp = N // i
if(temp * i == N):
temp_list = list(map(int,(str(temp))))
i_list =list(map(int,(str(i))))
if(len(temp_list) == len(i_list)):
for j in range(len(temp_list)):
if(temp_list[j] == i_list[len(temp_list)-j-1]):
count+=1
if(count == len(temp_list)):
print(i)
break
if(i == N):
print('No Answer')
提交可通过: