• T1110-计算线段长度


    原题链接: https://nanti.jisuanke.com/t/T1010

    题目简述:

    已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb)A(X_a,Y_a),B(X_b,Y_b),求线段 ABAB 的长度。

    蒜头君老师告诉了你计算公式如下:

    (XaXb)2+(YaYb)2sqrt{(X_a - X_b)^2 + (Y_a - Y_b)^2}

    输入格式

    共两行。

    第一行是两个实数 Xa,YaX_a, Y_a,即 AA 的坐标。

    第二行是两个实数 Xb,YbX_b, Y_b ,即 BB 的坐标。

    输入中所有实数的绝对值均不超过 1000010000

    输出格式

    一个实数,即线段 ABAB 的长度,保留到小数点后 33 位。

    评级: ★(农夫山泉题)

    思路: 照着题意模拟,计算:(XaXb)2+(YaYb)2sqrt{(X_a - X_b)^2 + (Y_a - Y_b)^2}

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        double ans = sqrt(abs(pow(x1-x2,2))+abs(pow(y1-y2,2)));
        cout<<fixed<<setprecision(3)<<ans<<endl;
        return 0;
    }
    

    未过,原因:精度错误。

    改后代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        double x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        double ans = sqrt(abs(pow(x1-x2,2))+abs(pow(y1-y2,2)));
        cout<<fixed<<setprecision(3)<<ans<<endl;
        return 0;
    }
    
  • 相关阅读:
    分享几个python小脚本
    关于python编译的一点小结
    一位测试工程师工作一年的心得体会
    Zookeeper知识梳理
    Kafka知识梳理(转载)
    霍夫曼编码压缩算法(转载 -- www.uusystem.com)
    表、栈和队列
    Python3正则表达式清洗Excel文档
    MongoDB学习笔记
    Centos--Docker应用
  • 原文地址:https://www.cnblogs.com/littlefrog/p/11939503.html
Copyright © 2020-2023  润新知