大学c语言真的学不会了,有没有能人能教教我c语言怎么写麦卡锡91函数吗
搜索了下这个函数是这样的
#include <stdio.h>
int cul(int x) {
if (x>100) {
return x-10;
} else {
return cul(cul(x+11));
}
}
int main() {
int x = 101;
printf("x=%d,res=%d\n",x, cul(x));
return 0;
}
麦卡锡91函数是一个经典的递归函数,其定义如下:
#include <stdio.h>
int mccarthy(int n) {
if (n > 100) {
// 如果n大于100,返回n-10
return n - 10;
} else {
// 如果n小于等于100,返回f(f(n+11))
return mccarthy(mccarthy(n + 11));
}
}
按照下面的python版本,给你改成C语言的
#include <stdio.h>
int mccarthy91(int n) {
int k = 1
while (k) {
if (n > 100) {
n -= 10;
k -= 1;
}
else {
n += 11;
k += 1;
}
return n;
}
int main() {
printf("%d", mccarthy91(50));
return 0;
}
附原始程序
def mccarthy91(n):
k = 1
while k:
if n > 100:
n -= 10
k -= 1
else:
n += 11
k += 1
return n
# 递归写法
def mccarthy91_rec(n):
if n > 100:
return n - 10
else:
return mccarthy91_rec(mccarthy91_rec(n + 11))
print(mccarthy91_rec(50))
包括:矩阵求逆、矩阵转置、矩阵相乘、矩阵分解、线性方程组最小二乘解