题目:
设有一个N×M方格的棋盘(1≤N≤100,1≤M≤100,N与M始终不相等)
求出该棋盘中包含有多少个正方形、多少个长方形。
例 输入:2,3
输出:8,10
分析:
对于解决这个问题,有个公式需要知道,假设一个矩阵长为5,宽为4,那么求一个矩形中的正方形个数公式为:4*5+【(4-1)(5-1)】+【(4-2)(5-2)】+【(4-3)(5-3)】,因为(4-4)*(5-4)是0,没实际意义,所以不需要再继续,也就是代码中第一个递归函数的当长或宽中一个长度减到1时停止的原因。
计算长方形的公式为:【(5+4+3+2+1)*(4+3+2+1)再减去正方形的个数】
代码及运行结果如下:

#include <stdio.h>
#include <stdlib.h>
int zhengfang(int a,int b)//用于直接求正方形个数的递归函数
{int tem1;if(a==1||b==1)tem1=a*b;elsetem1=a*b+zhengfang(a-1,b-1);return tem1;
}int leijia(int a)//这也是一个递归函数,帮助计算长方形个数
{int tem2;if(a==1)tem2=1;elsetem2=a+leijia(a-1);return tem2;
}int main()
{int N,M,m,n;printf("请输入两个不同的正整数\n");scanf("%d %d",&N,&M);m=zhengfang(N,M);//m表示正方形的个数n=leijia(N)*leijia(M);//此处运用公式printf("结果是:\n");printf("正方形个数是%d,长方形个数是%d",m,n-m);return 0;
}

运行结果:

求矩形中正方形和长方形的个数相关推荐

  1. 一个n*m矩形内正方形和长方形的个数

    正方形的个数为n*m+(n-1)*(m-1)+....,直到n或m有一个为1,.以n=2,m=3为例,即正方形个数为2*3+1*2: 长方形个数为(m+(m-1)+...+1)*(n*(n-1)+.. ...

  2. Java利用继承和多态来求矩形、正方形和圆形的面积与周长

    题目 Java利用继承和多态来求矩形.正方形和圆形的面积与周长 import static java.lang.Math.PI;/*** @Author Ziph* @date 2020/2/20* ...

  3. 矩形内方形与长方形的个数

    矩形(n*m)内所有小矩形的个数:1/4*n*(n+1)*m*(m+1) 推导: 一条长度为n的线段包含多少条长度为r的线段?(n-r+1)个 以n=11,r=3举例: 移动到最后,发现1到9< ...

  4. 求字符串中回文子串的个数(回文树详解)

    写法一: #include<stdio.h> #include<iostream> #include<algorithm> #include<string.h ...

  5. D-query SPOJ - DQUERY(主席树求区间中不同的数的个数)

    题意 给出n个数,m个询问,每个询问给出一个区间,需要回答这个区间中不同的数的个数 题目 {assign var="code" value="DQUERY"} ...

  6. 数位dp(求1-n中数字1出现的个数)

    题意:求1-n的n个数字中1出现的个数. 解法:数位dp,dp[pre][now][equa] 记录着第pre位为now,equa表示前边是否有降数字(即后边可不能够任意取,true为没降,true为 ...

  7. 统计方格区域内正方形和长方形的个数(洛谷P1548题题解,Java语言描述)

    题目要求 P1548题目要求 分析 这题,一看就懵,因为一看就需要推公式,很麻烦-- 此时发现本题是洛谷红题哈哈哈,还没"高性能"标签,那就暴力吧!!! 注意只要区域是正方形就不是 ...

  8. n*m的格子中正方形个数和长方形个数

    问题描述 1.设有一个nm方格的棋盘(1≤m,n≤100). 求出该棋盘中包含多少个正方形.多少个长方形(不包括正方形). 例如:当n=2,m=3时 正方形的个数有8个:即边长为1的正方形有6个: 边 ...

  9. 设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数、求正方形周长的虚函数、输出函数。 (2) 定义类Square的共有派

    设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数.求正方形周长的虚函数.输出函数. (2) 定义类Square的共有派生类 ...

  10. 矩形内部的正方形及长方形数目

    这道题涉及的数论知识是获取方形中的正方形和长方形,方法很巧妙 P2241 统计方形(数据加强版) #include<bits/stdc++.h> using namespace std;i ...

最新文章

  1. 这是我见过最通俗易懂的 装饰者模式 讲解了!
  2. (1) ebj学习:基本概念
  3. Python实现单例
  4. 微信处罚腾讯判定其滥用原创:不要惹我 我狠起来能铁锅炖自己!
  5. 楼板计算塑形弹性_柴油发电机机房设计标准及原则:机房接地选址、柴发容量计算书...
  6. 算法导论笔记:32字符串匹配算法
  7. 创建者模式 --- 单例模式
  8. Topaz Gigapixel AI打开软件闪退及加载图片闪退 解决办法
  9. 浅谈马尔可夫预测方法
  10. c++ 字符串替换所有字符串
  11. python 3 三元表达式(三目表达式)
  12. youtube-dl 安装和用法
  13. python 分支结构 比较大小
  14. 小柯在学JAVA之第二弹
  15. 关于PC端QQ无法加载群文件和打开在线群文件解决方法
  16. HDU 6438 Buy and Resell 【贪心+思维+优先队列】
  17. Oracle默认数据库角色账号密码
  18. 社工的危害性(一)菜鸟经验_星语惜馨_新浪博客
  19. 解决ChatGPT网络总是掉线问题
  20. Gbase XDM API接口--打开xdm连接

热门文章

  1. Chrome 谷歌浏览器 google 复制网页上禁止复制的文本
  2. 椭圆曲线的加密算法解析和程序设计—基于python语言
  3. win10远程计算机管理,Win10专业版远程控制电脑有哪些方法?
  4. 实战SATA硬盘安装64位XP(转)
  5. 微信小程序弹窗有输入框且可以使用名文和密文输入
  6. Ti芯片 bq76940锂电池管理系统BMS资料,源程序+PDF原理图,主控stm32f030。
  7. Python 批量更改文件名、更改文件格式
  8. 小心微信被封号,这码千万不要扫!
  9. 究竟什么是token??
  10. 个人八股文集合一、C/C++语言