日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

织女的红线_JAVA

發布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 织女的红线_JAVA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

好久不見牛郎哥哥了,織女非常想他,但是她想考驗一下牛郎在她不在的日子里有沒有好好學習天天向上,于是乎
想出一個問題考一考他。織女找了一跟很細的紅線和N顆相同的釘子,將各顆釘子釘在墻上作為一個多邊
形的各個頂點,然后將紅線纏在各個釘子上圍成了多邊形,多余的剪掉。下面給出了圖示。

可惜牛郎不會算,悲劇了,但他不想讓織女失望,還好有你這個朋友,你的任務是幫他計算出紅線的長度。

Input

在輸入數據的第一行有兩個數:N——釘子的數目(1 <= N <= 100),R——釘子的半徑。所有的釘子半徑
相同。接下來有N行數據,每行有兩個空格隔開的實數代表釘子中心的坐標。坐標的絕對值不會超過
100。釘子的坐標從某一顆開始按照順時針或逆時針的順序給出。不同的釘子不會重合。

Output

輸出一個實數(小數點后保留兩位)————紅線的長度。

Sample
Input

4 1

0.0 0.0

2.0 0.0

2.0 2.0

0.0 2.0

Output

14.28

import java.util.Scanner;class Point{double x, y;public Point (double x, double y) {this.x = x;this.y = y;}public double js(Point a) {return Math.sqrt((x - a.x) * (x - a.x) + (y - a.y) * (y - a.y));} }public class Main {public static void main(String[] args) {Scanner reader = new Scanner(System.in);int n = reader.nextInt();double r = reader.nextDouble();Point p[] = new Point [n];double c = 2.0*Math.PI*r;for(int i = 0; i < n; i++){p[i] = new Point (reader.nextDouble(), reader.nextDouble());}for(int i = 0; i < n - 1; i++)c = c + p[i].js(p[i + 1]);c = c + p[0].js(p[n - 1]);System.out.printf("%.2f\n", c);reader.close();} }

總結

以上是生活随笔為你收集整理的织女的红线_JAVA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。