matlab - 编写一个递归函数,计算 n >= 0 除以 d > 0 时的余数 r

标签 matlab function math

这是我写的

function r = remainder(n,d) % n>=0, d>0
    if d == 0
    r = 0;
    else
    r = rem(n,d);
    end
end

但这不是一个递归函数

最佳答案

不太确定这是否会在任何地方发生故障,但我确信可以通过一些测试和逻辑概述进行验证。这是一个重复调用自身以求除法后的余数的函数。这将 rem() 余数函数分解为除数的递归减法,直到剩余余数小于除数。它们是一些额外的保护 if 语句,适用于涉及除数或数字 0 的情况。

函数调用:

Find_Remainder(4,5)

功能:

function [Remainder] = Find_Remainder(Number,Divisor)

if(Divisor > 0)

if(Number >= Divisor)
Remainder = Number - Divisor;

if(Remainder >= Divisor)
%Recursively calling the "Find_Remainder() function%
[Remainder] = Find_Remainder(Remainder,Divisor);
end

end

if(Number < Divisor)
Remainder = Number;
end
end

end    

用于检查的测试脚本:

clc;
Number = 91;
Divisor = 71;

Find_Remainder(Number,Divisor)
rem(Number,Divisor)

使用 MATLAB R2019b 运行

关于matlab - 编写一个递归函数,计算 n >= 0 除以 d > 0 时的余数 r,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64650790/

相关文章:

matlab - MATLAB 中存在“符号数学工具箱”函数,但文档中没有

function - 为什么( self : Runnable =>) in scala compiles?

function - lerp 函数的逆函数的通用名称是什么?

c++ - 用于计算非常大的正整数的幂函数的数字模数

javascript - 在javascript中乘以4x3仿射变换矩阵

java - 检测百分比变化

matlab - 在 MATLAB 中组合两种结构的有效方法有哪些?

matlab - 绘制轮廓的长轴和短轴

python - 在 for 循环中绘图,在 matplotlib 中具有 'hold on' 效果?

c - 为什么在 C 中不强制声明具有 int 返回类型的函数?