2016 - 2024

感恩一路有你

Matlab判断水仙花数

浏览量:3693 时间:2024-01-30 22:32:49 作者:采采

水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。为了实现这一功能,我们可以编写一个子函数文件。

编写子函数文件

在子函数文件中,我们可以定义一个函数来判断输入的数字是否为水仙花数。

function result  isNarcissus(num)
% 将数字转换为字符串
str_num  num2str(num);
% 获取数字的位数
digit  length(str_num);
% 初始化和值
sum  0;
% 计算每个位数的数字的三次幂之和
for i  1:digit
    sum  sum   str2num(str_num(i))^3;
end
% 判断是否为水仙花数
if sum  num
    result  1; % 是水仙花数
else
    result  0; % 不是水仙花数
end
end

调用子函数文件

在主函数文件中,我们可以调用子函数文件,并根据输入的数字判断是否为水仙花数。

% 输入一个数
n  input('请输入一个数字: ');
% 调用子函数文件判断是否为水仙花数
result  isNarcissus(n);
% 输出结果
if result  1
    disp('是水仙花数');
else
    disp('不是水仙花数');
end

输出斐波那契数列前18项

斐波那契数列是一个递归定义的数列,第一项和第二项为1,从第三项开始,每一项都是前两项的和。为了实现输出斐波那契数列前18项的功能,我们可以编写一个子函数文件。

编写子函数文件

在子函数文件中,我们可以定义一个函数来计算斐波那契数列的第n项。

function fibo  fibonacci(n)
% 初始化斐波那契数列前两项
f1  1;
f2  1;
% 判断n是否小于3,如果是,则直接返回1
if n < 3
    fibo  1;
else
    % 从第三项开始计算斐波那契数列的第n项
    for i  3:n
        f3  f1   f2;
        f1  f2;
        f2  f3;
    end
    fibo  f3;
end
end

调用子函数文件

在主函数文件中,我们可以调用子函数文件,并指定想要输出的斐波那契数列的项数。

% 调用子函数文件输出斐波那契数列前18项
fibonacci(18)

通过以上的代码,我们可以实现判断水仙花数和输出斐波那契数列前18项的功能。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。