信息学奥赛一本通 1033:计算线段长度
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1033:计算线段长度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
代碼呈上:?
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main(){double xa,xb,ya,yb,ans,p,o;cin>>xa>>xb;cin>>ya>>yb;p=fabs(ya-xa);o=fabs(yb-xb);ans=hypot(p,o);printf("%.3f",ans);return 0; }題目:
【題目描述】
已知線段的兩個端點的坐標A(Xa,Ya),B(Xb,Yb),求線段AB的長度,保留到小數點后3位。
【輸入】
第一行是兩個實數Xa,Ya,即A的坐標。
第二行是兩個實數Xb,Yb,即B的坐標。
輸入中所有實數的絕對值均不超過10000。
【輸出】
一個實數,即線段AB的長度,保留到小數點后3位。
【輸入樣例】
1 1
2 2
【輸出樣例】
1.414
題目解析:
原理就需要思考一下啦!
? ? ? ? 構造一個直角三角形,還記得勾股定理嗎?斜邊的平方=另外兩條邊的平方和;
? ? ? ? 假定ab為直角三角形的斜邊,用勾股定理求,cmath庫中有函數幫我們解決了(fabs為絕對值函數,hypot為求斜邊的函數)
原題網址:http://ybt.ssoier.cn:8088/problem_show.php?pid=1033
總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1033:计算线段长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LBE原理分析
- 下一篇: java基础知识(七)-- 泛型(Gen