my_fact.m

来自「matlab的大量实例代码」· M 代码 · 共 12 行

M
12
字号
function k=my_fact(n)
if nargin~=1, error('输入变量个数错误,只能有一个输入变量'); end
if nargout>1, error('输出变量个数过多'); end
if abs(n-floor(n))>eps | n<0 % 判定 n 是否为整数
   error('n 应该为非负整数');
end   
if n>1      % 如果 n>1, 进行递归调用
   k=n*my_fact(n-1);
elseif any([0 1]==n) % 0!=1!=1
   k=1;
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?