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

2019蓝桥杯真题矩阵切割(填空题) C语言/C++

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。

当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。

例如,对于一块两边分别为 5 和 3 的材料(记为 5×3),小明会依次切出3×3、2×2、1×1、1×1 共 4 个正方形。

现在小明有一块矩形的材料,两边长分别是 2019 和 324。请问小明最终会切出多少个正方形?

运行限制
最大运行时间:1s
最大运行内存: 128M
所需变量

int a;//由于给了长度,我把它设定为变量

int b;//给的宽度,我为了代码的可用性,设置为变量

int sum;//代表能切割多少个正方形,初值为0

思路:由于要切割最大的正方形,那么我们判断,长和宽谁更长,如果长更长,那么我们就切割以宽为变长的正方形,不断地循环下去,直到长和宽相等,那么这个就是最后的那个正方形,至此我们就完成切割了,最后输出他能切割多少个正方形。
该算法本人认为比较优,如果有更好的想法,欢迎q我!

#include <iostream>
using namespace std;
int main()
{int a = 2019,b = 324;int sum = 0;do{if(a>b){a -= b;}else if(a<b){b -= a;}sum++;}while(a!=b);sum++;cout<<sum<<endl;return 0;
}

在这里插入图片描述

http://www.lryc.cn/news/13295.html

相关文章:

  • Java线程池的创建以及原理
  • Java集合学习之Map
  • java 基于maven多模块合并打包部署
  • Kubernetes是个什么东东?
  • 【go语言grpc之client端源码分析三】
  • Android 基础知识4-2.6LinearLayout(线性布局)
  • 补充前端面试题(三)
  • .net开发安卓入门-自动升级(配合.net6 webapi 作为服务端)
  • 分享111个HTML艺术时尚模板,总有一款适合您
  • spring之Spring AOP基于注解
  • LeetCode题目笔记——6362. 合并两个二维数组 - 求和法
  • 【C#基础】C# 常用语句讲解
  • 腾讯云——负载均衡CLB
  • 6.关于系统服务的思考—— native vs java
  • SQL语句创建视图:
  • 使用BP神经网络和Elman Net预测航班价格(Matlab代码实现)
  • JavaWeb9-volatile解决内存可见性和指令重排序问题
  • Docker - 镜像操作命令
  • 全栈之路-前端篇 | 第三讲.基础前置知识【前端标准与研发工具】学习笔记
  • Tomcat 线上调优记录
  • 学习 Python 之 Pygame 开发坦克大战(四)
  • New和Malloc的使用及其差异
  • 2023年细胞生物学复习汇总
  • 光伏VSG-基于虚拟同步发电机的光伏并网逆变器系统MATLAB仿真
  • 高可用 - 02 Keepalived_VRRP工作原理
  • vue实现xml在线编辑功能
  • GitHub Workflow
  • vue学习
  • Windows使用ssh协议远程连接ubuntu linux系统
  • 大数据处理 - Overview