当前位置: 首页 > news >正文

角谷定理(递归)

已知有角谷定理:

输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。如:例如数据22的变化过程: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1,数据变化次数为16。注意,若输入自然数为1,则不需要运算,运算次数为1。

现要求你输入一个数,第一行输出每次数据的变化过程,第二行输出运算的次数。

输入样例1:      7
输出样例17 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 117 输入样例2:	   1
输出样例2:	   1
#include <stdio.h>
int f(int n);
int main()
{int n;scanf("%d", &n);printf("\n%d", f(n));return 0;
}
int f(int n){printf("%d ", n);if (n == 1) return 1;else if (n % 2 == 0) return f(n / 2) + 1;else if (n % 2 == 1) return f(3 * n + 1) + 1;
}
http://www.lryc.cn/news/24050.html

相关文章:

  • 数学小课堂:微积分复盘(高等数学本质上是对趋势的动态描述,是对各种相关性抽象的表述。)
  • JAVA线程池原理详解一
  • Windows平台Unity Camera场景实现轻量级RTSP服务和RTMP推送
  • LSB 题解
  • 离线部署docker与镜像
  • Linux文件系统介绍(上)
  • 创建SpringBoot注意事项
  • 2023年全国最新二级建造师精选真题及答案9
  • 解决MySQL的 Row size too large (> 8126).
  • 最优传输问题和Sinkhorn
  • Netty核心组件EventLoop源码解析
  • 排障命令-汇总
  • python+pytest接口自动化(4)-requests发送get请求
  • 开源电子书工具Calibre 6.3 发布
  • C++ STL:适配器 Adapter
  • 防抖和节流
  • vue3 微信扫码登录及获取个人信息实现的三种方法
  • Java8 新特性强大的Stream API
  • day22_IO
  • 第三十八章 linux-并发解决方法二(信号量)
  • 数据结构-考研难点代码突破(C++实现树型查找 - B树插入与遍历,B+树基本概念)
  • Python可视化界面编程入门
  • 基于Java+SpringBoot+Vue前后端分离书店购书系统设计与实现
  • Android:截屏/视频截图
  • leecode-C语言实现-28. 找出字符串中第一个匹配项的下标
  • 使用 Postman 实现 API 自动化测试
  • k8s环境jenkins发布vue项目指定nodejs版本
  • 我应该把毕业设计做到什么程度才能过关?
  • 力扣-合作过至少三次的演员和导演
  • 【 PMU】信号生成、采样、分割、估计器应用和误差计算(Matlab代码实现)