fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class MidApp
  6. {
  7. //private static final int ARRAY_SIZE_MAX = 1024;
  8.  
  9. public static Integer scanInteger( Scanner in )
  10. {
  11. return ( ( in.hasNextInt() ) ? in.nextInt() : null );
  12. }
  13.  
  14. public static Double scanDouble( Scanner in )
  15. {
  16. return ( ( in.hasNextDouble() ) ? in.nextDouble() : null );
  17. }
  18.  
  19. public static void main( String[] args )
  20. {
  21. // рабочие переменные
  22. double avg = 0;
  23. double disp = 0;
  24. int k = 0;
  25. int n = 0;
  26.  
  27. Scanner in = new Scanner(System.in);
  28.  
  29. n = scanInteger( in );
  30.  
  31. if( n <= 0 )
  32. {
  33. System.out.printf("error: wrong value of n\n");
  34. return;
  35. }
  36.  
  37. double[] x = new double[ n ];
  38.  
  39. k = n;
  40.  
  41. // вычисление среднего значения
  42. for( int i = 0; i < k; i++ )
  43. {
  44. x[i] = scanDouble( in );
  45. if( x[i] < 1 )
  46. {
  47. System.out.printf("error: incomplete input of x\n");
  48. return;
  49. }
  50. avg += x[i];
  51. }
  52. avg /= k;
  53.  
  54. in.close();
  55.  
  56. // вычисление дисперсии
  57. for( int i = 0; i < k; i++ )
  58. {
  59. disp += ( x[i] - avg ) * ( x[i] - avg );
  60. }
  61. disp /= ( k - 1 );
  62.  
  63. // вывод результата
  64. System.out.printf("%f\n", avg);
  65. System.out.printf("%f", disp);
  66. }
  67. }
  68.  
Success #stdin #stdout 0.17s 321280KB
stdin
3 4 5 8
stdout
5.666667
4.333333