[HackerRank]正數和負數(Plus Minus)


題目描述

給定一個整數陣列,分別計算並輸出其中元素數值之正整數、負整數和零的佔有比例。

輸出的比例是一個0~1(包含0和1)的浮點數數值,精確度需至小數點後六位。

原題網址

https://www.hackerrank.com/challenges/plus-minus

輸入格式

第一行輸入一個整數N,表示陣列的大小。接下來的一行,共有N個整數,用空格隔開,照順序表示陣列內的元素。

輸出格式

輸出共有三行,第一行是正整數所佔的比例,第二行是負整數所佔的比例,第三行是零所佔的比例。輸出的比例是一個0~1(包含0和1)的浮點數數值,精確度需至小數點後六位。

範例輸入

6
-4 3 -9 0 4 1

範例輸出

0.500000
0.333333
0.166667

額外解釋

範例中輸入的陣列共有6個整數元素,分別是3個正整數,2個負整數,和一個零。

正整數所佔的比例是:

3 / 6 = 0.500000

負整數所佔的比例是:

2 / 6 = 0.333333

零所佔的比例是:

1 / 6 = 0.166667

解題概念

使用Scanner物件直接從標準輸入串流中讀取,N和之後的N個整數,在讀取的過程中就可以去計算正整數、負整數和零的數量了。接著建立出一個DecimalFormat物件,樣板字串使用「0.000000」,接著就可以用其「format」方法,來將浮點數格式化為精確度達小數點後第六位的字串。將分別統計出來的數量除以總數,就是其所佔有的比例。

參考答案

關於作者

Magic Len

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章