摘要

题目链接 难度等级 完成状态 完成分数 最后编辑时间 需要注意
3n+1问题 ★☆☆☆☆ 答案正确 100 2014-10-11 12:26:43

题意

给出递推式,求求解步数。

题解

简单递归。

代码

3038.cpp代码已折叠
展开折叠内容
#include<iostream>
const int f(const int &n,const int &step)
{
    if(n==1)
        return step;
    return (n%2)?f(3*n+1,step+1):f(n>>1,step+1);
}
int main()
{
    int n,x;
    std::cin>>n;
    while(n--)
    {
        std::cin>>x;
        std::cout<<f(x,0)<<std::endl;
    }
    return 0;
}

著作权声明[编辑]

关于[编辑]