[BOJ]1546(ブロンズ1)
9267 ワード
平均
質問する
勢俊は期末試験に失敗した.勢俊は点数を偽造して家に持ち帰ることにした.まず勢俊は自分の点数の中で最高値を選んだ.この値をMと言います.そしてすべての点数を点数/M*100に変更しました.
例えば、ポテンシャル俊の最高点数が70で、数学点数が50であれば、数学点数は50/70*100で71.43点である.
上記の方法で勢俊の成績を再計算する場合は、新しい平均値を求めるプログラムを作成してください.
入力
1行目は試験科目の個数Nを与える.この値は1000以下です.2列目は勢俊の今の成績をあげた.この値は100以下の整数ではなく、少なくとも1つの値が0より大きい.
しゅつりょく
最初の行に新しい平均値を出力します.実際の正解と出力値の絶対誤差または相対誤差が10−2以下であることが正解である.
入力例1
3
40 80 60
サンプル出力1
75.0
入力例2
3
10 20 30
サンプル出力2
66.66666710^2以下の誤差を許容することは、少数の2番目のビットに出力することを意味しない. 入力例3
4
1 100 100 100
サンプル出力3
75.25
入力例4
5
1 2 4 8 16
サンプル出力4
38.75
入力例5
2
3 10
サンプル出力5
65.0
入力例6
4
10 20 0 100
サンプル出力6
32.5
入力例7
1
50
サンプル出力7
100.0
入力例8
9
10 20 30 40 50 60 70 80 90
サンプル出力8
55.55555555555556
勢俊は期末試験に失敗した.勢俊は点数を偽造して家に持ち帰ることにした.まず勢俊は自分の点数の中で最高値を選んだ.この値をMと言います.そしてすべての点数を点数/M*100に変更しました.
例えば、ポテンシャル俊の最高点数が70で、数学点数が50であれば、数学点数は50/70*100で71.43点である.
上記の方法で勢俊の成績を再計算する場合は、新しい平均値を求めるプログラムを作成してください.
入力
1行目は試験科目の個数Nを与える.この値は1000以下です.2列目は勢俊の今の成績をあげた.この値は100以下の整数ではなく、少なくとも1つの値が0より大きい.
しゅつりょく
最初の行に新しい平均値を出力します.実際の正解と出力値の絶対誤差または相対誤差が10−2以下であることが正解である.
入力例1
3
40 80 60
サンプル出力1
75.0
入力例2
3
10 20 30
サンプル出力2
66.666667
4
1 100 100 100
サンプル出力3
75.25
入力例4
5
1 2 4 8 16
サンプル出力4
38.75
入力例5
2
3 10
サンプル出力5
65.0
入力例6
4
10 20 0 100
サンプル出力6
32.5
入力例7
1
50
サンプル出力7
100.0
入力例8
9
10 20 30 40 50 60 70 80 90
サンプル出力8
55.55555555555556
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
double[] array = new double[T];
double max = 0;
double result = 0;
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for (int i = 0; i < T; i++) {
array[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(array);
max = array[array.length - 1];
for (int i = 0; i < T; i++) {
double val = array[i]/max*100;
array[i] = (int) Math.round(val);
}
for (double average : array){
result += average;
}
System.out.println(result/T);
}
}
Reference
この問題について([BOJ]1546(ブロンズ1)), 我々は、より多くの情報をここで見つけました https://velog.io/@mincodin/BOJ-1546テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol