OAIP/17/17.c
2024-11-22 21:00:20 +04:00

112 lines
1.3 KiB
C

#include <stdio.h>
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);
}