和正整数及其逆序有关的问题
给定自然数\(a\)和自然数\(b\),寻找最小的正整数\(x\),使得\(ax+b\)正好是\(x\)的数字倒过来排列。比如说:
a=4,b=0,x=2178
a=9,b=0,x=1089
a=2,b=2,x=25
a=3,b=1,x=247 写了个程序跑了跑,没看出啥规律来。
def reverse(num):
r = 0;
while(num > 0):
n = num % 10;
r = r * 10 + n;
num = num // 10;
return r;
for a in range(1, 10):
for b in range(0, 100):
for x in range(1, 1000000):
if(a * x + b == reverse(x)):
print("(", a, ",", b, ")", x);
break;
刚才写的有误,b可以很大,导致a也可以大于9了。程序只做了a(1~9),b(1~100),x(1~1000000)的情况
越想越复杂。
页:
[1]