fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.Scanner;
  5. public class Ideone
  6. {
  7. public static void main (String[] args) throws java.lang.Exception
  8. {
  9. int n;
  10. int ans = 0;
  11. Scanner myObj = new Scanner(System.in);
  12. n = myObj.nextInt(); //считываем сумму, для которой будем считать количество перестановок
  13. int a[] = new int[n+1]; //создаем массив
  14. Arrays.fill(a, 0);
  15. if (n == 1) ans = 1;
  16. if (n == 2) ans = 2;
  17. if (n == 3) ans = 4;
  18. if (n == 4) ans = 8;
  19. if (n == 5) ans = 16;
  20. if (n == 6) ans = 32;
  21. // частные случаи
  22.  
  23. if (n > 6)
  24. {
  25. a[1] = 1;
  26. a[2] = 2;
  27. a[3] = 4;
  28. a[4] = 8;
  29. a[5] = 16;
  30. a[6] = 32;
  31. for (int i = 7; i < n + 1; i++)
  32. {
  33. a[i]=0;
  34. for (int j = 1; j < 7; j++) // вычисление количества для i-ой суммы
  35. a[i] = ( a[i] + a[i-j] ) % 1000000007;
  36. }
  37. ans = a[n];
  38. }
  39.  
  40. System.out.println(ans);
  41. }
  42. }
Success #stdin #stdout 0.1s 35284KB
stdin
6
stdout
32