2018蓝桥杯省赛---java---B---7(螺旋折线)
生活随笔
收集整理的這篇文章主要介紹了
2018蓝桥杯省赛---java---B---7(螺旋折线)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
標題:螺旋折線如圖p1.png所示的螺旋折線經過平面上所有整點恰好一次。 對于整點(X, Y),我們定義它到原點的距離dis(X, Y)是從原點到(X, Y)的螺旋折線段的長度。 例如dis(0, 1)=3, dis(-2, -1)=9 給出整點坐標(X, Y),你能計算出dis(X, Y)嗎?【輸入格式】 X和Y 對于40%的數據,-1000 <= X, Y <= 1000 對于70%的數據,-100000 <= X, Y <= 100000 對于100%的數據, -1000000000 <= X, Y <= 1000000000 【輸出格式】 輸出dis(X, Y) 【輸入樣例】 0 1【輸出樣例】 3資源約定: 峰值內存消耗(含虛擬機) < 256M CPU消耗 < 1000ms請嚴格按要求輸出,不要畫蛇添足地打印類似:“請您輸入...” 的多余內容。所有代碼放在同一個源文件中,調試通過后,拷貝提交該源碼。 不要使用package語句。不要使用jdk1.7及以上版本的特性。 主類的名字必須是:Main,否則按無效代碼處理。 ———————————————— 版權聲明:本文為CSDN博主「公眾號-放生改命」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/weixin_44949135/article/details/108144284思路分析
代碼實現
package com.atguigu.TEST;import java.util.Scanner;class Main{public static void main(String[] args) {int x=0,y=0;Scanner scanner = new Scanner(System.in);x=scanner.nextInt();y=scanner.nextInt();int judge= Math.max(Math.abs(x),Math.abs(y));int inside=0,outside=0;for (int i = 0; i < judge; i++) {inside+=i*8;}if(judge==Math.abs(y)){if(y>0){outside=3*y+x;}else {outside=7*(-y)-x;}}if(judge==Math.abs(x)){if(x<0){outside=(-x)+y;}else {outside=5*x-y;}}if(x==y&&x==0){outside=0;inside=0;}System.out.println((inside+outside));}}總結
以上是生活随笔為你收集整理的2018蓝桥杯省赛---java---B---7(螺旋折线)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想品牌电脑一般是什么配置?
- 下一篇: 2019蓝桥杯省赛---java---B