add pset 8

This commit is contained in:
juan 2021-11-11 14:28:02 +08:00
parent ecf2e824e7
commit a876da7ea6
No known key found for this signature in database
GPG key ID: 5C1E5093C74F1DC7
9 changed files with 213 additions and 0 deletions

21
pset8/1-values.c Normal file
View file

@ -0,0 +1,21 @@
// #include <stdio.h>
//
// int fuc(int n);
//
// int main() {
// int n;
//
// scanf("%d", &n);
// printf("%d\n", fuc(n));
//
// return 0;
// }
/* 请在这里填写答案 */
int fuc(int n) {
if (n == 0) {
return 0;
} else {
return fuc(n - 1) + n * n * n;
}
}

21
pset8/2-getSum.c Normal file
View file

@ -0,0 +1,21 @@
// #include <stdio.h>
//
// int getSum(int n, int a);
//
// int main() {
// int n, a;
//
// scanf("%d%d", &n, &a);
// printf("%d\n", getSum(n, a));
//
// return 0;
// }
/* 请在这里填写答案 */
int getSum(int n, int a) {
if (n == 0) {
return a;
} else {
return getSum(n - 1, a) + a + 3 * n;
}
}

28
pset8/3-findMax.c Normal file
View file

@ -0,0 +1,28 @@
// #include <stdio.h>
//
// int findMax(int n);
//
// int main() {
// int n;
//
// scanf("%d", &n);
// printf("%d\n", findMax(n));
//
// return 0;
// }
/* 请在这里填写答案 */
int findMax(int n) {
int input;
scanf("%d", &input);
if (n == 1) {
return input;
} else {
int tmp = findMax(n - 1);
if (input >= tmp) {
return input;
} else {
return tmp;
}
}
}

23
pset8/4-convert.c Normal file
View file

@ -0,0 +1,23 @@
// #include <stdio.h>
//
// int convert(int n);
//
// int main() {
// int n;
//
// scanf("%d", &n);
//
// printf("%d\n", convert(n));
// return 0;
// }
/* 请在这里填写答案 */
int convert(int n) {
if (n == 1) { // Base case
return 1;
} else if (n == 0) { // Base case
return 0;
} else {
return n % 10 + convert(n/10) * 2;
}
}

23
pset8/5-countBinary.c Normal file
View file

@ -0,0 +1,23 @@
// #include <stdio.h>
//
// int countBinary(int);
//
// int main() {
// int n;
//
// scanf("%d", &n);
// printf("%d\n", countBinary(n));
//
// return 0;
// }
/* 请在这里填写答案 */
int countBinary(int n) {
if (n == 0) {
return 1;
} else if (n == 1) {
return 1;
} else {
return 1 + countBinary(n / 2);
}
}

24
pset8/6-eveluation.c Normal file
View file

@ -0,0 +1,24 @@
// #include <stdio.h>
//
// int evaluation(int n, int a);
// int main() {
// int n, a;
//
// scanf("%d%d", &n, &a);
// printf("%d\n", evaluation(n, a));
//
// return 0;
// }
/* 请在这里填写答案 */
int evaluation(int n, int a) {
if (n == -1) {
return 1;
} else {
int an = 1;
for (int i = 0; i < n; i++) {
an *= a;
}
return a * an + evaluation(n - 1, a);
}
}

22
pset8/7-gcd.c Normal file
View file

@ -0,0 +1,22 @@
#include<stdio.h>
int GCD(int a , int b );
int main()
{
int a , b ;
scanf("%d%d", &a , &b );
printf( "%d\n" , GCD( a, b ) ) ;
return 0 ;
}
/* 请在这里填写答案 */
int GCD(int a , int b ) {
if (a % b != 0) {
return GCD(b, a % b);
} else {
return b;
}
}

22
pset8/8-reverse.c Normal file
View file

@ -0,0 +1,22 @@
// #include <stdio.h>
//
// void reverse(int n);
//
// int main() {
// int n;
//
// scanf("%d", &n);
// reverse(n);
// printf("\n");
// return 0;
// }
/* 请在这里填写答案 */
void reverse(int n) {
if (n < 10) {
printf("%d", n);
} else {
printf("%d", n % 10);
reverse(n / 10);
}
}

29
pset8/9-printFactor.c Normal file
View file

@ -0,0 +1,29 @@
// #include <stdio.h>
//
// void printFactor(int, int);
//
// int main() {
// int a, b, i;
//
// scanf("%d%d", &a, &b);
// for (i = a; i <= b; i++)
// printFactor(i, 1);
//
// return 0;
// }
/* 请在这里填写答案 */
void printFactor(int num, int fac) {
if (fac == 1) { // Start of the line
printf("%d=", num);
printFactor(num, 2);
} else if (num <= fac) { // End of the line
printf("%d\n", num);
} else if (num % fac == 0) { // The middle ones
printf("%d*", fac);
printFactor(num / fac, 2);
} else {
printFactor(num, fac + 1);
}
return;
}