函数——递归6(c++)

角谷猜想

题目描述

日本一位中学生发现一个奇妙的 定理,请角谷教授证明,而教授 无能为力,于是产生了角谷猜想。 猜想的内容:任给一个自然数, 若为偶数则除以2,若为奇数则乘 3加1,得到一个新的自然数后按 上面的法则继续演算。若干次后 得到的结果必为1。

请编写代码验 证该猜想:求经过多少次运算可 得到自然数1。

如:输入22,则计算过程为。

22/2=11

11×3+1=34

34/2=17

17×3+1=52

52/2=26

26/2=13

13×3+1=40

40/2=20

20/2=10

10/2=5

5×3+1=16

16/2=8

8/2=4

4/2=2

2/2=1

经过15次运算得到自然数1。

输入

一行,一个正整数n。 (1<=n<=20000)

 输出

一行,一个整数,表示得到1 所用的运算次数。

样例

输入复制

22

输出复制

 15

#include <bits/stdc++.h>
using namespace std;
int aaa(int);
int main()
{int a;cin>>a;cout<<aaa(a);return 0;
}
int aaa(int n)
{if(n==1) return 0;if(n%2==0) return 1+aaa(n/2);if(n%2==1) return 1+aaa(n*3+1);
}

求两个数M和N的最大公约数

题目描述

求两个正整整数 M 和 N 的最大公约数(M,N都在长整型范围内) 

输入

输入一行,包括两个正整数。

输出

输出只有一行,包括1个正整数。

样例

输入复制

45 60

输出复制

15

#include <bits/stdc++.h>
using namespace std;
int aaa(int,int);
int main()
{int a,b;cin>>a>>b;cout<<aaa(a,b);return 0;
}
int aaa(int a,int b)
{if(a%b==0) return b;int sum = a%b;return aaa(b,sum);
}

数的计数

题目描述

输入一个自然数n(n<=100)在该自然数的左侧加上一个自然数,但加上的数不能超过n的一半;加上数后继续按此规则处理,直到不能再添加自然数为止;请问按照这样的方法添加数,能够产生多少个新数?

 例如:n=6,则左侧添加数的方案有 16 26 126 36 136 共能够产生5个新数。

输入

一个整数n

输出

按照规则能够产生的新数的个数

样例

输入复制

6

输出复制

5

#include <bits/stdc++.h>
using namespace std;
int aaa(double,int);
int main()
{double a;cin>>a;cout<<aaa(a,0);return 0;
}
int aaa(double a,int cnt)
{if(a==2) return 1;if(a==1) return 0;if(a==3) return 1;for(int i = 1;i<=a/2;i++){cnt++;cnt = cnt+aaa(i,0);}return cnt;
}

放苹果

题目描述

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K 表示)

5,1,1和1,5,1 是同一种分法。

输入

第一行是测试数据的数目t(0 <=t<=20)以下每行均 包含二个整数M和N,以空格分开。1<=m,n<=10。

输出

对输入的每组数据M和N,用一行输出相应的K。

样例输入

1

7 3

样例输出

8

#include <bits/stdc++.h>
using namespace std;
int aaa(int,int);
int main()
{int i;cin>>i;int m[50],n[50];for(int j = 0;j<i;j++){cin>>m[j]>>n[j];}for(int j = 0;j<i;j++){cout<<aaa(m[j],n[j])<<endl;}return 0;
}
int aaa(int m,int n)
{if(m==1||n==1||m==0||n==0) return 1;if(m<0) return 0;if(m<n) return m;return aaa(m-n,n)+aaa(m,n-1);
}

#include <bits/stdc++.h>
using namespace std;
int aaa(int);
int main()
{int n;cin>>n;cout<<aaa(n);return 0;
}
int aaa(int n)
{if(n/10==0) return n;int sum = 0;int t = n;while(t!=0){sum = sum+t%10;t = t/10;}return aaa(sum);
}

#include <bits/stdc++.h>
using namespace std;
int aaa(int,int);
int main()
{int m,n;cin>>m>>n;cout<<aaa(m,n);return 0;
}
int aaa(int m,int n)
{if(m==0) return n+1;if(m>0&&n==0) return aaa(m-1,1);if(m>0&&n>0) return aaa(m-1,aaa(m,n-1));
}

回文数

题目描述

回文数的定义为:如果把一个数的各个数位上的数字颠倒过来得到的新数与原数相等,则此数是回文数, 例:7,22,131,2112,31013,…都是回文数。

对任意给出的一个整数n,经过一系列的处理,最后都能成为 回文数。处理的方法是,该数加上它的颠倒数。

例如:n=176

第一次处理后      176+671=847

第二次处理后      847+748=1595

第三次处理后      1595+5951=7546

第四次处理后      7546+6457=14003

第五次处理后      14003+30041=44044

此时成为回文数,共进行5次处理。

问题:给出n 后,求出使该数按照以上规则进行一系列处理后成为回文数的最少操作次数。

#include <bits/stdc++.h>
using namespace std;
int aaa(int,int);
int main()
{int n;cin>>n;cout<<aaa(n,0);return 0;
}
int aaa(int n,int cnt)
{int sum = 0;int sum2 = 0;int t = n;while(t!=0){sum = sum*10+t%10;t = t/10;}if(sum==n) return cnt;sum2 = sum+n;t = sum2;sum = 0;while(t!=0){sum = sum*10+t%10;t = t/10;}cnt++;if(sum==sum2) return cnt;return cnt+aaa(sum2,0);
}

求两个数M和N的最小公倍数

题目描述

求两个正整整数 M 和 N 的最小公倍数(M,N都在长整型范围内)

输入

输入一行,包括两个正整数。

输出

输出只有一行,包括1个正整数。

样例

输入复制

45 60

输出复制

180

#include <bits/stdc++.h>
using namespace std;
int a,b;
int aaa(int,int);
int main()
{cin>>a>>b;cout<<aaa(a,b);return 0;
}
int aaa(int n,int m)
{if(n%m==0) return a*b/m;int sum2 = n%m;return aaa(m,sum2);
}

#include <bits/stdc++.h>
using namespace std;
int aaa(int,int);
int main()
{int n,x;cin>>n>>x;cout<<aaa(n,x);return 0;
}
int aaa(int n,int x)
{if(n==0) return 1;if(n==1) return 2*x;if(n>1) return 2*x*aaa(n-1,x)-2*(n-1)*aaa(n-2,x);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyTorch深度学习快速入门

PyTorch深度学习快速入门 1.PyTorch环境配置及安装2.python编辑器的选择、安装、配置&#xff08;pycharm、JupyTer安装&#xff09;3.为什么torch.cuda.is_available()返回false4.python学习中两大法宝函数&#xff08;也可用在pytorch&#xff09;5.pycharm和jupyter&#xf…

golang goroutine 如何退出?

上一讲说到调度器将maingoroutine推上舞台&#xff0c;为它铺好了道路&#xff0c;开始执行runtime.main函数。这一讲&#xff0c;我们探索maingoroutine以及普通goroutine从执行到退出的整个过程。 //Themaingoroutine. funcmain(){ //gmaingoroutine&#xff0c;不再是g0了 …

Python列表中添加删除元素不走弯路

1.append() 向列表中添加单个元素&#xff0c;一般用于尾部追加 list1 ["香妃", "乾隆", "贾南风", "赵飞燕", "汉武帝"]list1.append("周瑜") print(list1) # [香妃, 乾隆, 贾南风, 赵飞燕, 汉武帝, 周瑜]…

STM32标准库——(14)I2C通信协议、MPU6050简介

1.I2C通信 I2C 通讯协议(Inter&#xff0d;Integrated Circuit)是由Phiilps公司开发的&#xff0c;由于它引脚少&#xff0c;硬件实现简单&#xff0c;可扩展性强&#xff0c; 不需要USART、CAN等通讯协议的外部收发设备&#xff0c;现在被广泛地使用在系统内多个集成电路(IC)间…

计算机网络_2.2物理层下面的传输媒体

2.2物理层下面的传输媒体 一、传输媒体的分类二、导向型传输媒体1、同轴电缆2、双绞线3、光纤&#xff08;1&#xff09;光纤通信原理&#xff08;2&#xff09;光纤组成&#xff08;4&#xff09;多模光纤与单模光纤对比&#xff08;5&#xff09;光纤的波长与规格&#xff08…

数据可视化基础与应用-02-基于powerbi实现连锁糕点店数据集的仪表盘制作

总结 本系列是数据可视化基础与应用的第02篇&#xff0c;主要介绍基于powerbi实现一个连锁糕点店数据集的仪表盘制作。 数据集描述 有一个数据集&#xff0c;包含四张工作簿&#xff0c;每个工作簿是一张表&#xff0c;其中可以销售表可以划分为事实表&#xff0c;产品表&am…

Linux时间同步(PPS、PTP、chrony)分析笔记

1 PPS(pulse per second) 1.1 简介 LinuxPPS provides a programming interface (API) to define in the system several PPS sources. PPS means "pulse per second" and a PPS source is just a device which provides a high precision signal each second so t…

每日一题 2673使二叉树所有路径值相等的最小代价

2673. 使二叉树所有路径值相等的最小代价 题目描述&#xff1a; 给你一个整数 n 表示一棵 满二叉树 里面节点的数目&#xff0c;节点编号从 1 到 n 。根节点编号为 1 &#xff0c;树中每个非叶子节点 i 都有两个孩子&#xff0c;分别是左孩子 2 * i 和右孩子 2 * i 1 。 树…

Java缓存简介

内存访问速度和硬盘访问速度是计算机系统中两个非常重要的性能指标。 内存访问速度&#xff1a;内存是计算机中最快的存储介质&#xff0c;它的访问速度可以达到几纳秒级别。内存中的数据可以直接被CPU访问&#xff0c;因此读写速度非常快。 硬盘访问速度&…

学习和工作的投入产出比(节选)

人工智能统领全文 推荐包含关于投入、产出、过剩、市场关注、案例、结果和避雷等主题的信息&#xff1a; 投入与产出&#xff1a; 投入和产出都有直接和间接两类常见形式。常见的四种组合是&#xff1a;直接投入、直接产出、间接投入、间接产出。 过剩&#xff1a; 过剩是一个重…

力扣SQL50 无效的推文 查询

Problem: 1683. 无效的推文 思路 &#x1f468;‍&#x1f3eb; 参考 char_length(str)&#xff1a;计算 str 的字符长度length(str)&#xff1a;计算 str 的字节长度 Code select tweet_id from Tweets where char_length(content) > 15;

C++与 Fluke5500A设备通过GPIB-USB-B通信的经验积累

C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 以下内容来自&#xff1a;C与 Fluke5500A设备通过GPIB-USB-B通信的经验积累 - JMarcus - 博客园 (cnblogs.com)START 1.需要安装NI-488.2.281&#xff0c;安装好了之后&#xff0c;GPIB-USB-B的驱动就自动安装好了 注意版本…

动态规划(算法竞赛、蓝桥杯)--单调队列滑动窗口与连续子序列的最大和

1、B站视频链接&#xff1a;E11【模板】单调队列 滑动窗口最值_哔哩哔哩_bilibili 题目链接&#xff1a;滑动窗口 /【模板】单调队列 - 洛谷 #include <bits/stdc.h> using namespace std; const int N1000010; int a[N],q[N];//q存的是元素的下标 int main(){int n,k;…

unity学习(41)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——创建发包!

1.客户端的程序结构被我精简过&#xff0c;现在去MessageManager.cs中增加一个UserHandler函数&#xff0c;根据收到的包做对应的GameInfo赋值。 2.在Model文件夹下新增一个协议文件UserProtocol&#xff0c;内容很简单。 using System;public class UserProtocol {public co…

金融短信群发平台具有那些特点

金融短信群发平台的特点主要包括以下几个方面&#xff1a; 1.高效性&#xff1a;金融短信群发平台能够快速地发送大量的短信&#xff0c;使得金融信息能够迅速传达给目标客户&#xff0c;保证了信息的及时性和有效性。 2.安全性&#xff1a;金融短信群发平台对于信息的安全性非…

蓝桥杯练习系统(算法训练)ALGO-995 24点

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 24点游戏是一个非常有意思的游戏&#xff0c;很流行&#xff0c;玩法很简单&#xff1a;给你4张牌&#xff0c;每张牌上有数…

【教程】移动互联网时代的APP上架流程和要点

目录 摘要 引言 正文 一、应用商店注册 二、准备APP材料 三、打包上传App 摘要 本文将介绍移动应用程序上架的基本流程和要点&#xff0c;包括应用商店注册、APP材料准备、打包上传App、APP审核以及发布APP的详细步骤。此外&#xff0c;还会提到利用appuploder工具简化i…

Spring Cloud 实战系列之 Zuul 微服务网关搭建及配置

一、创建SpringBoot项目 用mavan搭建也可以。&#xff08;重要的是后面pom里应该引入那些依赖&#xff0c;application.yml怎么配置&#xff09; 由于开始构建项目时选择了Eureka Server&#xff0c;所以pom.xml中不需要手动添加依赖了 首先在启动类SpringcloudApplicatio…

SpringBoot项目连接Redis报错:Connection refused: no further information

今天在使用SpringBoot连接Redis时发生了报错 明明Jedis能够连接成功为什么StringRedisTemplate就不行? 然后在网上找了一下说是关闭防火墙或者修改配置文件但是都不管用 最后发现是Redis在SpringBoot3之后yml的配置方式发生了改变 相较于之前多了一个前缀, 由于我刚开始没有…

项目风险管理的前提是对风险的认知

大家好&#xff0c;我是不会魔法的兔子&#xff0c; 一枚北京执业律师&#xff0c;创建[项目管理者的法小院儿]&#xff0c;持续从法律的角度分享项目管理中的风险问题及预防&#xff0c;让项目管理者能够提早发现与解决项目执行过程中的风险&#xff0c;同时欢迎大家一起交流…