Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Средна вредност Problem 1 (2 / 4)
- За дадена низа од N (1≤N≤50) природни броеви, да се најде бројот кој е најблиску до нивниот просек. Ако постојат два броја со исто растојание до просекот, да се врати помалиот од нив. На пример за низата 1, 2, 3, 4, 5 просекот е (1 + 2 + 3 + 4 + 5) / 5 = 15 / 5 = 3, што значи дека бројот кој треба да се врати и е најблиску до просекот е 3.
- За низата 1, 2, 3, 4, 5, 6 просекот е 3.5 и двата броја 3 и 4 се на исто растојание од просекот. Точната вредност која треба да се врати е помалиот од нив, а тоа е 3.
- Во низата може да има дупликати.
- Првиот број од влезот е бројот на елементи во низата N, а потоа во секој ред се дадени броевите.
- Име на класата (Java): Array
- **Забелешка:** Да се креира податочна структура низа и истата да се искористи во задачата.
- Sample input
- 5
- 1
- 2
- 3
- 4
- 5
- Sample output
- 3
- ==========================================================================================================================================
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Array<E> {
- private int size;
- private E[] niza;
- public Array(int size) {
- this.size = size;
- niza = (E[])new Object[size];
- }
- public int getSize() {
- return size;
- }
- public void setSize(int size) {
- this.size = size;
- }
- public E[] getNiza() {
- return niza;
- }
- public void setNiza(E[] niza) {
- this.niza = niza;
- }
- public static int brojDoProsek(Array<Integer> niza){
- //Vashiot kod tuka...
- float prosek = 0;
- for(int i = 0; i < niza.size;i++){
- prosek += niza.niza[i];
- }
- prosek = prosek / niza.size;
- int min = 10000;
- for(int i = 0; i < niza.size; i++){
- if( Math.abs(niza.niza[i] - prosek ) < min)
- min = (int) Math.abs(niza.niza[i] - prosek );
- }
- int num = 1000;
- for(int i = 0; i < niza.size; i++){
- if( ((int)Math.abs(prosek - niza.niza[i])) == min&&niza.niza[i] < num)
- num = niza.niza[i];
- }
- return num;
- }
- public static void main(String[] args) throws IOException{
- BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in));
- String s = stdin.readLine();
- int N = Integer.parseInt(s);
- //Vashiot kod tuka...
- Array<Integer> niza = new Array<Integer>(N);
- Integer[]moja = new Integer[N];
- for(int i = 0; i < N; i++){
- String input = stdin.readLine();
- moja[i] = Integer.parseInt(input);
- }
- niza.setNiza(moja);
- System.out.println(brojDoProsek(niza));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement