用户:
方圆三角查看:14 回复:6 评论:14 创建时间:2023-06-22T13:15:07
此题纯为自编,若有相似,纯属巧合。
小圆:数学你怎么编写程序???
小角:这其实是道编(shu)程(xue)题。
小圆:我懂(meng)了。
——————正文开始——————
题目名:圆三角2
建议用时:10~20分钟
难度:75%
提交代码:Python或C++
【题目背景】
方要正,圆要圆,角要尖。 ——题目编者(方圆三角)
【题目描述】
图1是一个图形(该图形纯手绘)。

图1
求图形的红色、黄色、绿色的周长(关于这个图的信息,请看【题目要求】)。
【题目要求】
在计算关于圆的题目时,π取3。
∠AOB=90°,输入OA和OB的长度,求红色、黄色、绿色的周长。
【输入格式】
输入包含两行,为OA和OB的长度(单位:cm)。
【输出格式】
输出包含四行,为红色、黄色、绿色的周长,全部保留2为小数。
【样例输入输出】
#1输入:
3
4
#1输出:
10.80
15.60
8.40
注:因为这是大型计算,如计算有误,请将样例编号、正确样例发在评论区。
【数据规模与运算】
对于50%的数据,1<=OA,OB<=100,保证(OA*OA+OB*OB)**0.5是整数;
对于100%的数据,1<=OA,OB<=10**9,不一定保证(OA*OA+OB*OB)**0.5是整数。
【提示】
小方发现了这道题能用勾股定理求出圆的半径。
Ctrl_V#include<bits/stdc++.h>
using namespace std;
double a,b,c,r;
const int pi=3;
int main()
{
scanf("%lf%lf",&a,&b);
c=sqrt(a*a+b*b);//勾股定理
r=1.0*a*b/c;//根据切线定理可得r为△AOB的高
printf("%.2f\n",a-r+b-r+c+0.5*pi*r);
printf("%.2f\n",2.0*r+1.5*pi*r);
printf("%.2f",2.0*r+0.5*pi*r);
return 0;
}点赞1
评论
#include <stdio.h>
#include <math.h>
int main(){
int oa,ob;
scanf("%d%d",&oa,&ob);
double s=oa*ob/2,h=s*2/sqrt(oa*oa+ob*ob),qrt=3*h*h/4,y=qrt*3,r=s-qrt;
printf("%f\n%f\n%f\n%f\n",r,y,qrt,r+y+qrt);
return 0;
}
点赞0
评论
#include <stdio.h>
#include <math.h>
int main(){
int oa,ob;
scanf("%d%d",&oa,&ob);
double s=oa*ob/2,ab=sqrt(oa*oa+ob*ob),h=s*2/ab,o=h*6,qrt=o/4,r=qrt+ab+oa+ob-(h*2);
printf("%f\n%f\n%f\n",r,o/4*3+2*h,qrt+h*2);
return 0;
}
点赞0
评论