Python教程-在Python中寻找自守数
如果一个数字的平方的末尾数字与该数字本身相同,那么这个数字就被称为自守数。
以下是自守数的一些示例-
1. 输入: 25
输出 - 是的,它是一个自守数。
原因 - 25的平方为625,因为末尾的数字是25,所以它是一个自守数。
2. 输入: 14
输出 - 不,它不是一个自守数。
原因 - 14的平方是196,因为末尾的数字是96,所以它不是一个自守数。
3. 输入: 76
输出 - 是的,它是一个自守数。
原因 - 76的平方是6776,因为末尾的数字是76,所以它是一个自守数。
既然我们理解了这个概念,让我们看看如何构建检查一个数字是否为自守数的逻辑。
我们知道取模运算符可以用来在数字的各个位上执行操作。以下是如何在Python中实现的示例。
示例 -
num = int(input("Enter a number you want to check: \n"))
#calculating the number of digits
num_of_digits = len(str(num))
#computing the square of a number
square = num**2
#obtaining the last digits
last_digits = square%pow(10,num_of_digits)
#comparing the digits of number with input
if last_digits == num:
print("Yes, {} is an automorphic number".format(num))
else:
print("No, {} is not an automorphic number".format(num))
输出
Enter a number you want to check:
76
Yes, 76 is an automorphic number
现在,让我们一步一步看一下这个方法:
- 第一步是从用户那里获取数字并计算其平方。
- 我们可以使用len函数计算数字的位数。
- 接下来是计算数字的平方。
- 现在,我们将使用幂函数和模运算符获取最后几位数字。
- 最后,我们将最后一位数字与输入数字进行比较。
- 执行程序后,将显示所需的输出。
让我们看看当我们输入示例中讨论过的数字时会发生什么。
由于25是一个自守数,它显示了所需的消息。
输出 - 2
Enter a number you want to check:
25
Yes, 25 is an automorphic number
由于14不是自守数,它显示了所需的消息。
输出 - 3
Enter a number you want to check:
14
No, 14 is not an automorphic number
使用While循环
实现同样功能的另一种方法如下-
示例 -
print("Enter the number you want to check:")
num=int(input())
square=num*num
flag=0
while(num>0):
if(num%10!=square%10):
print("No, it is not an automorphic number.")
flag=1
break
num=num//10
square=square//10
if(flag==0):
print("Yes, it is an automorphic number.")
输出
Enter the number you want to check:
25
Yes, it is an automorphic number.
让我们了解在这个程序中我们遵循的步骤:
- 第一步仍然是从用户那里获取数字并计算其平方。
- 我们声明了一个while循环,它将一直执行直到数字变为零。
- 现在我们将比较数字的个位数是否等于计算平方后的个位数。
- 如果满足上述条件,那么我们将进行数字和平方数的地板除法。
- 执行程序后,它将显示数字是否为自守数。
因此,在本文中,我们了解了什么是自守数,以及如何使用Python检查给定数字是否为自守数。