美文网首页
3n+1问题

3n+1问题

作者: EastwardFlow | 来源:发表于2018-10-25 16:53 被阅读0次

对于任意大于1的自然数你,若n为奇数,则n变为3n+1,否则变为你的一半。经过多次变换,一定会使n变为1。

#include <iostream>
using namespace std;

int main(int argc, char const *argv[])
{
    int n2, count = 0;
    scanf("%d",&n2);
    long long n = n2;//长整型防止数值越界
    while(n>1){
        if (n%2==1) n=n*3+1;
        else n/=2;
        cout<<n<<endl;
        count++;
    }
    printf("%d",count);
    return 0;
}

相关文章

网友评论

      本文标题:3n+1问题

      本文链接:https://www.haomeiwen.com/subject/aqsctqtx.html