• 递归函数练习——输出角谷猜想各个步骤


    /*=====================================
    角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。
    如:输入22,
    输出 22  11  34  17  52  26  13  40  20  10  5  16  8  4  2  1
         STEP=16
    
    ======================================*/
     1 #include<stdio.h>
     2 int step = 1;
     3 
     4 void fc(int n)//输出n这个数并按角谷猜想对n做处理以便进入下一步。返回值是总步数。 
     5 {
     6     if(n == 1)
     7     {
     8         printf("%d",n);
     9         return; 
    10     }
    11     else if(n%2 == 0)
    12     {
    13         printf("%d	",n);
    14         fc(n/2);
    15         step++;
    16     }
    17     else
    18     {
    19         printf("%d	",n);
    20         fc(n*3+1);
    21         step++;
    22     }
    23 }
    24 
    25 int main(int argc, char* argv[])
    26 {
    27     int n;
    28     printf("Please input the num:");
    29     scanf("%d",&n);
    30     fc(n);
    31     printf("
    Step = %d
    ",step);
    32     return 0;
    33 }
    View Code
  • 相关阅读:
    动手动脑及类的创建
    动手动脑-Java重载
    方法的动手动脑
    文本单词数测试
    动手动脑
    springmvc使用fastjson
    springmvc之发送json数据自动转Java对象接收
    springmvc之拦截器
    基于xml配置springmvc案例
    springmvc之异常处理
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/3576880.html
Copyright © 2020-2023  润新知