递归
来源:互联网 发布:淘宝买iphone4s 编辑:程序博客网 时间:2024/05/18 00:14
角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。如:输入22,输出 22 11 34 17 52 26 13 40 20 10 5 16 8 4 1 STEP=16 算法分析:递归出口是最后得到自然数为1,递归体是每次不为1都带入继续计算算法构造:f(n)={█(1 n=1@f(n/2) n%2==0@f(3*n+1) n%2!=0)┤由此看出,只要返回的结果不是1,那么就需要将返回的结果再带入公式中进行判断奇数偶数进行计算。算法实现:#include<stdio.h> int fun(int n); int step = 0;int main(){int n = 0;printf("请输入一个整数:\n");scanf("%d",&n);fun(n);printf("\n");printf("共经过了%d次",step); } int fun(int n) { if(n ==1) { step ++; printf("%5d",n); return 1; } else if(n%2==0) { step++; printf("%5d",n); return fun(n/2); } else { step++; printf("%5d",n); return fun(3*n+1); } }
阅读全文
0 0
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- 递归
- Eclipse Properties插件安装
- kaa安装翻译
- HDU 1004
- 深度学习Caffe实战笔记(18)Windows平台 Faster-RCNN 环境配置
- java 平面内线段相交判断
- 递归
- 腾讯互动直播 音频 视频 踩过的坑 二
- 帝国cms7.2密码修改
- ZZULIOJ 2134 维克兹的进制转换【思维+递推/Dp】好题!好题!
- jQuery对象与DOM对象
- 关于UITextField的封装
- 算法提高 铺地毯
- Java链接Redis时出现 “ERR Client sent AUTH, but no password is set” 异常的原因及解决办法
- 剑指offer-判断该二叉树是否是平衡二叉树