zoukankan      html  css  js  c++  java
  • Problem G: 角谷步数

    Problem G: 角谷步数

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 78  Solved: 28
    [Submit][Status][Web Board]

    Description


    你听说过角谷猜想吗?
    任意的正整数,比如 5, 我们从它开始,如下规则计算:
    如果是偶数,则除以2,如果是奇数,则乘以3再加1.
    如此循环,最终必会得到“1” !

    比如 5 的处理过程是:
    5
    16
    8
    4
    2
    1

    一个正整数经过多少步才能变成1, 称为角谷步数。
    对于5而言,步数也是5
    对于1,步数为0

    Input

    从标准输入给定一个整数n(1<n<300)表示角谷步数

    Output

    满足这个角谷步数的最小的正整数

    Sample Input

    3

    Sample Output

    7

    #include<stdio.h>
    int main()
    {
        int a,n,i;
        scanf("%d",&n);
        for(i=1;i<1000;i++)
        {
            int b=0;
            a=i;
            while(a!=1)
            {
            if(a%2==0)
            {
                a=a/2;
                b++;
            }
            else if(a%2==1)
            {
                a=a*3+1;
                b++;
            }
            }
            if(n-b==0)
            {
                printf("%d",i);
                break;
            }
        }
    }
    

      

     
  • 相关阅读:
    C#调用webservice
    C#调用java方法踩坑记
    GitHub
    oracle之在java中调用
    oracle之数据恢复(delete误删)
    word之高级
    word之个人设置
    word之常用功能
    word
    git之摘抄
  • 原文地址:https://www.cnblogs.com/mjn1/p/9124339.html
Copyright © 2011-2022 走看看