循环数练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环数练习题
循环数是指某个数从左向右排列的各位数字,经过循环移位后可以得到的所有数。
例如,数字196经过一次循环移位得到961和619,继续循环移位可以得到所有的循环数:196、961、619。
循环数练习题可以帮助我们进一步理解和掌握循环数的特点和计算方法。
下面给出两个循环数练习题,供大家参考和练习。
练习题一:
给定一个正整数n,计算小于等于n的所有循环数。
答案:
```python
def getCyclicNumbers(n):
cyclicNumbers = []
for i in range(1, n + 1):
num = str(i)
flag = True
for j in range(len(num)):
rotated = num[j:] + num[:j]
if int(rotated) > n or rotated in cyclicNumbers:
flag = False
break
if flag:
cyclicNumbers.append(num)
return cyclicNumbers
n = int(input("请输入正整数n:"))
print("小于等于", n, "的所有循环数为:", getCyclicNumbers(n)) ```
练习题二:
给定一个正整数n,计算小于等于n的所有循环质数。
答案:
```python
def isPrime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def getCyclicPrimes(n):
cyclicPrimes = []
for i in range(2, n + 1):
num = str(i)
flag = True
for j in range(len(num)):
rotated = num[j:] + num[:j]
if int(rotated) not in cyclicPrimes or not isPrime(int(rotated)): flag = False
break
if flag:
cyclicPrimes.append(int(num))
return cyclicPrimes
n = int(input("请输入正整数n:"))
print("小于等于", n, "的所有循环质数为:", getCyclicPrimes(n))
```
以上是两个循环数练习题的答案。
希望通过练习能够更好地理解循环数和循环质数的特点,提升我们的数学能力和编程水平。
如果还有其他关于循环数的问题或者练习题,欢迎继续探讨和交流。