首页 > 其他分享 >地盘划分 递归

地盘划分 递归

时间:2023-11-04 09:44:05浏览次数:26  
标签:递归 int 地盘 个数 正方形 划分 矩形

地盘划分
【例】将一个给定的矩形划分为一个个正方形,其规则是先从矩形中划分出一个尽可能大的正方形,接下来,在剩下的矩形中再划分出一个尽可能大的一个正方形,以此类推。例如,宽*长为3*4的矩形,最少可划分为4个正方形,也就是说。取走一个3*3的正方形后,将问题规模变成3*1,然后变为2*1,最后变为1*1。规模每缩小一次,正方形个数加一,是计算出正方形的个数。
【输入格式】
输入两个整数,表示矩形的长和宽。
【输出格式】
输出一个整数,表示划分的正方形的个数。
【输入样例】
3 4
【输出样例】
4

【普通】

#include <iostream>
using namespace std;
int main(){
	int a,b,n=0,t_a;
	cin>>a>>b;
	for(int i=0;i<100;i++){
		if(a==b){
			n++;
			break;
		}else{
			t_a=a;
			a=max(a,b)-min(a,b);
			b=min(t_a,b);
			n++;
		}
	}
	cout<<n;
	return 0;
}

【递归】

#include <iostream>
using namespace std;
int m(int a,int b){
	if(a==b){
		return 1;
	}else{
		int t_a=a;
		a=max(a,b)-min(a,b);
		b=min(t_a,b);
		return m(a,b)+1;
	}
}
int main(){
	int a,b;
	cin>>a>>b;
	cout<<m(a,b);
	return 0;
}

  

标签:递归,int,地盘,个数,正方形,划分,矩形
From: https://www.cnblogs.com/wangyueshuo/p/17808909.html

相关文章

  • 地盘划分(递归)
    #include<iostream>#include<algorithm>#include<cstdio>usingnamespacestd;longlonga,b,c,s=0;intmain(){scanf("%lld",&a);scanf("%lld",&b);while(a>1){if(b>a){c=a;a=b;b=c;}......
  • fibnacci数列递归实现
    fibnacci数列递归实现1.什么是fibnacci数列斐波那契数列指的是一个数列从第三项开始每一项都等于前两项之和。如1,1,2,3,5,8,13,21,34,.......下图为一个几何理解图2.fibnacci数列的递归表达式F(n)=F(n-1)+F(n-2)就是中学所学递推公式3.用C语言递归实现Fib(n)C......
  • 后序遍历非递归(作业
    #define_CRT_SECURE_NO_WARNINGS#defineMax64#include<stdio.h>#include<stdlib.h>//二叉树的定义typedefstructnode{ chardata; intvisit; structnode*lchild; structnode*rchild;}bitree;//栈的定义typedefstruct{ bitree*data[Max]; in......
  • fibnacci数列递归实现
    fibnacci数列递归实现1.网上查询资料说明什么是fibnacci数列?Fibonacci数列是一个整数序列,由意大利数学家LeonardoFibonacci在《计算之书》中提出,序列中的数字是前两个数字的和。序列的前几个数字是:0,1,1,2,3,5,8,13,21,34,...。这个序列以0和1开始,之后的每个数字都......
  • 查询算法——顺序查找(优化),二分查找(递归)
    顺序查找顺序查找又称为线性查找,是一种最简单的查找方法。适用于线性表的顺序存储结构和链式存储结构,从第一个元素开始逐个与需要查找的元素x进行比较,当比较到元素值相同时,返回元素m的下标,如果比较到最后都没有找到,则返回-1;时间复杂度为O(n)点击查看代码publicstaticvoidm......
  • fibnacci数列递归/迭代实现
    什么是fibnacci数列?斐波那契数列(Fibonaccisequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(LeonardoFibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0)=1,F(1)=1,F(n)=F(n-1)+F(n-......
  • 递归函数实现省市区多级联动搜索帮助
    1、需求背景当程序中有互为层级的字段,需要使用搜索帮助时,可以通过多次调用搜索帮助来实现。比如在程序中需要填写省市区三级地址2、实现方式2.1、平铺直叙程序的搜索帮助,通常使用F4IF_INT_TABLE_VALUE_REQUEST来实现。多级的搜索帮助,可以简单的通过多次调用F4函数来实现。点......
  • 子网划分——网络借位
    题目:某公司申请了一个C类的IP地址192.128.0.3,但是该公司拥有400台主机,公司想将这些主机平均分布在两层楼进行管理,但是要求400台主机属于同一个子网,请问如何进行子网划分?选用的子网掩码是多少?请给出每层楼全体主机所设置的IP地址范围,并写出整个网络的网关地址? 解答:(一)根据子网......
  • SqlServer的With递归查询子父级
    工作中有一个需求,要判断客户是否有后续订单,就是查后面的订单是否此客户ID下单,而且要把此客户的所有关联的客户也都判断上这有点头痛,因为关联客户是一个嵌套型父子级的结构,客户A关联客户B,客户B关联客户C,客户C关联客户D,无论取客户A、B、C、D任一一个去查,都要把整个关联关系的客户A......
  • java怎么递归
    在Java中,递归(Recursion)是指一个方法在其内部调用自身的过程。递归通常用于解决可以被分解成相似子问题的问题。在编写递归函数时,需要定义递归的结束条件,以防止无限循环。下面是一个简单的递归示例,演示了如何使用递归计算一个数的阶乘:publicclassMain{publicstaticvoi......