创建一个对数字内的数字求和的函数

时间:2018-06-08 20:21:55

标签: matlab

我正在尝试编写matlab函数,当输入一个3位数时,它会对所述输入中的所有数字求和。

例如,如果输入为213,则输出应为6.如果输入为456,则输出应为15.该功能应适用于任何3位数字。

知道如何开始吗?

2 个答案:

答案 0 :(得分:4)

尝试这样的事情。它通过减去每个数字等效的ASCII数字来使用技巧。好处是它只有一条线。

>> sum(num2str(213)-'0')

ans =
     6

>> sum(num2str(456)-'0')    
ans =    
    15

编辑:要使其成为一个功能,只需执行此操作

function out = sumTheDigits(in)
out = sum(num2str(in)-'0') 

答案 1 :(得分:1)

您可以使用10的模数并保留一个计数器:

function total = sumDigits(number) 
    total = 0;
    while(number > 0)
      total = total + mod(number, 10);
      number = floor(number / 10);
    end
end