fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class SumApp
  6. {
  7. public static Integer scanInteger( Scanner in )
  8. {
  9. return ( ( in.hasNextInt() ) ? in.nextInt() : null );
  10. }
  11.  
  12. public static void main( String[] args )
  13. {
  14. // рабочие переменные
  15. Integer n = null;
  16. int i;
  17. double s = 0;
  18. double b, x = 0, xPrev = 0, xPrev2 = 0, xPrev3 = 0;
  19.  
  20. Scanner in = new Scanner(System.in);
  21.  
  22. n = scanInteger( in );
  23.  
  24. in.close();
  25.  
  26.  
  27. if( n == null || n <= 0 )
  28. {
  29. System.err.printf("error: missing or out of range: n=%d\n", n);
  30. return;
  31. }
  32.  
  33. // основной цикл сравнения
  34. for( i = 1, b = 2; i <= n; i++, b *= 2 )
  35. {
  36. if( i > 3 )
  37. {
  38. xPrev3 = xPrev2;
  39. }
  40. if( i > 2 )
  41. {
  42. xPrev2 = xPrev;
  43. }
  44. if( i > 1 )
  45. {
  46. xPrev = x;
  47. }
  48. if( i < 4 )
  49. {
  50. x = 1;
  51. }
  52. else
  53. {
  54. x = xPrev + xPrev3;
  55. }
  56.  
  57. s += x / b;
  58. }
  59.  
  60. // вывод результата
  61. System.out.printf("result: %f\n", s );
  62. }
  63. }
Success #stdin #stdout #stderr 0.16s 321344KB
stdin
-1
stdout
Standard output is empty
stderr
error: missing or out of range: n=-1