#include int fact(int); void f1(int), f2(int), f3(int); void recEGE1(int); void Z5(int); void Z6(int); void Z7G(int), Z7F(int); void Z9V8(int); int main() { printf("%d", fact(5)); printf("\n"); f1(11); printf("\n"); f2(11); printf("\n"); f3(11); printf("\n"); recEGE1(3); printf("\n\n"); Z5(10); printf("\n\n"); Z6(1); printf("\n\n"); Z7F(11); printf("\n\n"); Z9V8(5); return 0; } int fact(int a) { if (a < 0) return -1; if (a == 0) return 1; return fact(a - 1) * a; } void f1(int a) { if (a < 0) return; printf("%d ", a); if (a >= 2) f1(a - 2); } void f2(int a) { if (a < 0) return; if (a >= 2) f2(a - 2); printf("%d ", a); } void f3(int a) { if (a < 0) return; if (a < 2) { printf("%d ", a); return; } printf("%d ", a); if (a >= 2) f3(a - 2); printf("%d ", a); } void recEGE1(int n) { if (n >= 1) { printf("%d ", n); recEGE1(n - 1); recEGE1(n - 1); } } void Z5(int n) { if (n >= 1) { printf("%d\n", n); Z5(n - 3); Z5(n - 4); } } void Z6(int n) { if (n < 5) { printf("%d\n", n); Z5(n + 1); Z5(n + 3); } } void Z7F(int a) { if (a > 0) Z7G(a - 1); }; void Z7G(int a) { printf("*"); if (a > 1) Z7F(a - 3); }; void Z9V8(int a) { if (a < 0) return; printf("<*%d*", a); if (a > 1) Z9V8(a - 1); printf("%d>", a); }