📌  相关文章
📜  国际空间研究组织 | ISRO CS 2015 |问题 19(1)

📅  最后修改于: 2023-12-03 15:23:03.812000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2015 |问题 19

这个问题要求我们编写一个程序来确定一个数字是否为循环数。循环数是指,当你将该数字旋转一位时,得到的数字与原始数字相同。例如,数字 197 就是一个循环数,因为循环旋转它会得到数字 971 和 719,而全部都与原始数字相同。

思路

对于该问题,我们可以将数字从个位数开始逐个旋转,并比较旋转后的数字是否和原数字相等。如果我们能旋转一圈并回到了初始数字,那么该数字就是循环数字。

实现

以下是用Python实现该算法的代码:

def is_circular(n):
    num_digits = len(str(n))
    for i in range(num_digits):
        n = int(str(n)[1:] + str(n)[0])
        if n == num:
            return True
    return False

该程序将数字转换为字符串,然后从第一位开始旋转,并检查该数字是否等于原数。如果我们旋转了一圈,这意味着我们已经检查了所有可能的组合,此时该数字就不是循环数字。

结论

在这里,我们学习了如何编写一个Python程序来检查一个数字是否为循环数字。我们的算法将数字转换为字符串并逐个旋转直到找到循环数字。 然后,我们将它们转换为整数进行比较。 如果我们找到了一个循环数字,则我们会返回True,否则返回False。