fork download
  1. #include <stdio.h>
  2. #define N 10
  3. void Sdvig(int *a, int *end)
  4. {
  5. if (a + 1 < end)
  6. {
  7. *a = *(a + 1);
  8. Sdvig(a + 1, end);
  9. }
  10. }
  11.  
  12. int F(int *a, int *b, int n, int m)
  13. {
  14. if (n > 1)
  15. {
  16. b = a + (b - a + m - 1) % n;
  17. Sdvig(b, a + n);
  18. F(a, b, n - 1, m);
  19. }
  20. else return *a;
  21. }
  22.  
  23. int main()
  24. {
  25. int a[N], i, m = 4;
  26. for(i = 0; i < N; ++i)
  27. a[i] = i + 1;
  28. printf("%d\n", F(a, a, N, m));
  29. return 0;
  30. }
Success #stdin #stdout 0s 1788KB
stdin
Standard input is empty
stdout
5