排位赛(二)| L题
【题目描述】
给定两圆圆心坐标及半径,求两圆相交区域最大内切圆的圆心坐标及半径,误差范围1e-9,题目数据保证两圆有相交区域;
【输入格式】
第一行三个数据代表 x1, y1,r1;
第二行三个数据代表 x2, y2,r2;
【输出格式】
依次输出x,y,r,以空格间隔,保留小数点后15位;
【解题思路】
(1)利用初中平面几何求出答案表达式【先求半径再用比例】 !!!我当时竟然不会!!!
(2)利用double存储答案,保证误差1e-9以内;
【正确代码】
1 #include <iostream> 2 #include <cmath> 3 4 using namespace std; 5 6 int main() 7 { 8 double x1, y1, r1, x2, y2, r2, x, y, r; 9 scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &r1, &x2, &y2, &r2); 10 11 double d = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); 12 r = (r1 + r2 - d) / 2; 13 14 x = (r2 - r) * (x1 - x2) / d + x2; 15 y = (r2 - r) * (y1 - y2) / d + y2; 16 17 printf("%.15lf %.15lf %.15lf\n", x, y, r); 18 19 return 0; 20 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架