112 lines
1.3 KiB
C
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);
|
||
|
}
|