首页 > 其他 > 详细

快速迭代

时间:2020-02-10 15:07:54      阅读:80      评论:0      收藏:0      [点我收藏+]

题目:

设 fx为x的因子个数
将f迭代下去,rin猜想任意正整数最终都会变成2。
给你一个正整数n
让你输出它在迭代过程中,第一次迭代成2的迭代次数。

输入描述: 一个正整数n
输出描述: 一个正整数,为n迭代至2的次数。

输入
12

输出
4

说明
12的因子:1,2,3,4,6,12。共6个。
6的因子:1,2,3,6。共4个。
4的因子:1,2,4。共3个。
3的因子:1,3。共2个。
12 → 6 → 4 → 3 → 2 , 故迭代了4次。

 1 n = int(input())
 2 sum = 0
 3 while n!=2:
 4     cnt = 0
 5     i = 1
 6     while i*i<n:
 7         if n%i==0:
 8             cnt+=1
 9         i+=1
10     if n==i*i:
11         n=2*cnt+1
12     else:
13         n=2*cnt
14     sum+=1
15 print(sum)

快速迭代

原文:https://www.cnblogs.com/Yuuuukino/p/12290785.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!