螺旋折线的长度计算

Posted plas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了螺旋折线的长度计算相关的知识,希望对你有一定的参考价值。

技术分享图片

输入一个坐标,得出结果是按途中螺旋折线的长度,基本单位为1,要求:内存消耗< 256M

public class Demo3 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String line = s.nextLine();
//截取字符串,并转化成int类型
int x = Integer.parseInt(line.split(",")[0]);
int y=Integer.parseInt(line.split(",")[1]);
//定义输出结果
int dis=0;
//判断x,y坐标的绝对值,如果y大则执行如下
//以y轴为基准,可以算出每一个x为0的,螺旋线长度,为k*y*y+t*y=长度。
//算出kt值,带入
if (Math.abs(x)<=Math.abs(y)) {
//如果y大于等于0的情况,是直接加上x即可,为负,时自动减去对应的值
if (y>=0) {
dis=4*y*y-y+x;
}else{
//同上,算出y为负时的一元二次方程
dis=4*y*y-3*y-x;
}
}else{
//如果x绝对值大,执行如下
//如果x为正
if (x>=0) {
//同上,算出x的一元二次方程,直接减去y即可,获取的就是对应的螺旋线长度
dis=4*x*x+x-y;
}else{
//为负时,同上算出一元二次方程,并加上对应的y轴坐标
dis=4*y*y+3*x+y;
}
}
//输出结果
System.out.println("dis("+x+","+y+")="+dis);
}
}

感觉主要考察的是数学算术。。。。。。。。。



































以上是关于螺旋折线的长度计算的主要内容,如果未能解决你的问题,请参考以下文章

LQ0130 螺旋折线数学规律

2018年第九届蓝桥杯 - 省赛 - C/C++大学B组 - G.螺旋折线

蓝桥杯螺旋折线题目解法

树状数组与线段树

R - 计算沿折线两点之间的距离

如何在现有折线上计算 LatLng A 到 LatLng B?