PAT 解题报告 (Basic Level) 1001. 害死人不偿命的(3n+1)猜想 (15)

题目描述:

给定一个数字, 若这个数字是偶数,那么除以二, 如果这个数字是奇数, 那么根据3n+1 这个公式求下一个数, 直到求得1为止, 问给你一个数,总共需要多少步才能到1.

算法分析:

模拟题, 就是按照题目描述统计步数就行了, 优化方案是用memorization, 比如你统计了7这个数字需要多少步数,那么就用内存记录下来,有可能下次在遇到7,就直接从内存里读出来就好了,没必要再从头算一遍, 这个类似dp的思想。

注意点:

注意优化即可.

Written on March 27, 2013