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

算法->两正方形共占的面积

解法:

两正方形占面积 — 重叠部分面积

重叠部分计算:

// 计算重叠的横边长度int x = Math.min(a + v1, c + v2) - Math.max(a, c); // 小的右顶点 - 大的左顶点 = 重合的横边// 计算重叠的纵边长度int y = Math.min(b, d) - Math.max(b - v1, d - v2); // 小的上顶点 - 大的下顶点 = 重合的纵边
// 计算重叠面积v = x * y; // 重叠的面积

例题:

import java.util.Scanner;public class Main {public static void main(String[] args) {// 定义变量int a, b, c, d, v1, v2;// 输入六个整数Scanner scanner = new Scanner(System.in);a = scanner.nextInt();b = scanner.nextInt();c = scanner.nextInt();d = scanner.nextInt();v1 = scanner.nextInt();v2 = scanner.nextInt();// 初始化重叠面积变量int v = 0;// 计算重叠的横边长度int x = Math.min(a + v1, c + v2) - Math.max(a, c); // 小的右顶点 - 大的左顶点 = 重合的横边// 计算重叠的纵边长度int y = Math.min(b, d) - Math.max(b - v1, d - v2); // 小的上顶点 - 大的下顶点 = 重合的纵边// 计算重叠面积v = x * y; // 重叠的面积// 判断是否有重叠部分if (x > 0 && y > 0) {// 如果有重叠,输出总面积减去重叠面积System.out.println(v1 * v1 + v2 * v2 - v);} else {// 如果没有重叠,输出两个矩形的总面积System.out.println(v1 * v1 + v2 * v2);}// 关闭扫描器scanner.close();}
}

http://www.xdnf.cn/news/1173367.html

相关文章:

  • 【Redis】在Ubentu环境下安装Redis
  • docker的镜像与推送
  • 2025最新Mybatis-plus教程(二)
  • Packmol聚合物通道模型建模方法
  • 半导体 CIM(计算机集成制造)系统
  • 高亮匹配关键词样式highLightMatchString、replaceHTMLChar
  • Google DeepMind发布MoR架构:50%参数超越传统Transformer,推理速度提升2倍
  • OpenLayers 快速入门(七)矢量数据
  • Linux 环境下安装 MySQL 8.0.34 二进制 详细教程 附docker+k8s启动
  • 亚马逊广告优化技巧:如何减少预算浪费
  • 软件性能测试全景图:十维质量保障体系
  • Redis--多路复用
  • CI/CD与DevOps集成方法
  • 删除远程分支上非本分支的提交记录
  • ElasticSearch基础数据管理详解
  • 基于Python(Django)+MongoDB实现的(Web)新闻采集和订阅系统
  • 数据结构自学Day13 -- 快速排序--“挖坑法”
  • Java冒泡排序的不同实现
  • 阿里云ODPS十五周年重磅升级发布:为AI而生的数据平台
  • Leetcode力扣解题记录--第54题(矩阵螺旋)
  • 负压产生电路分析
  • HakcMyVM-Luz
  • 前端实现可编辑脑图的方案
  • 【世纪龙科技】汽车专业数字课程资源-新能源汽车维护与故障诊断
  • 亚远景-传统功能安全VS AI安全:ISO 8800填补的标准空白与实施难点
  • ​多线程 + io_uring 实现高效大文件写入
  • MCP:UVX的安装
  • JS逆向基础( AES 解密密文WordArray和Uint8Array实战②)
  • 在线深凹槽深检测方法都有哪些 —— 激光频率梳 3D 轮廓检测
  • 【Word Press基础】创建一个动态的自定义区块