A25742. 提示信息:回文数:设n是一任意自然数。若将n的各个位数上的数字反向排列所得自然数n1与n相等,则称n为一回文数。例如:若n=1234321,则称n为一回文数。平方回文数:指一个数不仅是回文数,并且这个数还是某一个数的平方。例如:121,是一个回文数,并且是11的平方数。编程实现:给定一个正整数M(100<M<2000),输出100到M之间(包含M)的平方回文数的个数。例如:M为150,则在100…
填空题
容易
知识点
题目描述
提示信息:
回文数:设n是一任意自然数。若将n的各个位数上的数字反向排列所得自然数n1与n相等,则称n为一回文数。
例如:若n=1234321,则称n为一回文数。
平方回文数:指一个数不仅是回文数,并且这个数还是某一个数的平方。
例如:121,是一个回文数,并且是11的平方数。
编程实现:
给定一个正整数M(100<M<2000),输出100到M之间(包含M)的平方回文数的个数。
例如:M为150,则在100到150之间的平方回数有1个,为121,输出1。
输入描述:
输入一个正整数M
输出描述:
输出100到M之间(包含M)的平方回文数的个数
样例输入:
150样例输出:
1参考答案
#参考答案1
a=input()
c=int(a)
b=0
for i in range(100,c+1):
c=str(i)
d=len(c)
e=0
for j in range(11,i):
if j*j==i:
e=1
break
if c[0]==c[d-1] and c[1]==c[d-2] and e==1:
e=0
b+=1
print(b)
#参考答案2
num=int(input())
l1=[]
pingf=0
for i in range(num):
i=str(i)
if i[ : :-1]==i:
l1.append(int(i))
for i in l1:
for j in range(i):
if j*j==i and i<2000 and i>100:
pingf+=1
print(pingf)答案解析
评分标准:
7分:能正确输出一组数据;
7分:能正确输出两组数据;
8分:能正确输出三组数据;
8分:能正确输出四组数据。
上一题
下一题