在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
所以,让我们来看一下相同的步骤-by-step方法-
- 步骤1是从用户那里获得数字并计算其平方。
- 我们可以使用”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.
让我们了解一下我们在这个程序中所遵循的步骤-
- 步骤1仍然是从用户那里获取数字并计算其平方。
- 我们声明了一个while循环,该循环将一直执行直到数字变为零。
- 现在我们将比较数字的个位数是否等于计算平方后得到的数字的个位数。
- 如果满足上述条件,则我们将执行数字和平方数的地板除法。
- 在执行程序时,它会显示数字是否为自整数。
因此,在这篇文章中,我们学习了什么是自整数以及如何使用Python检查一个给定数字是否为自整数。