1. 程式人生 > >螺旋折線的長度計算

螺旋折線的長度計算

[] split 坐標 螺旋 ima print mat 分享圖片 http

技術分享圖片

輸入一個坐標,得出結果是按途中螺旋折線的長度,基本單位為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);
}
}

感覺主要考察的是數學算術。。。。。。。。。

螺旋折線的長度計算