大家好,最近初学Python,经常尝试多将Python用于实践,比如解奥数题。
佛山黄老师提供了一个题目:由数字1-9组成的四位整数中,个位上的数字能被千位、百位、十位上的数字的积整除的四位自然数有多少个?如1228,其个位上的数字能被千位、百位、十位上的数字的积整除,即8能被1×2×2=4整除。
如果从小学生的角度,可从个位上的数字为突破口,用列表法穷举,如下图。
如果用Python语句,则可以更快得出结果,如下面的语句和部分截图。
num=0
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
for d in range(1,10):
if (d)%(a*b*c)==0:
print(a,b,c,d)
num+=1
print("运行结束,满足条件的数字共有{}个。".format(num))