how can i check if n2 is a sub number of n1? (HW qst.)
1 次查看(过去 30 天)
显示 更早的评论
for ex.:
n1 = 123; n2 = 12; (n1>=n2)
n2 is a sub number of n1
i can't make any use of strings or arrays
7 个评论
Azzi Abdelmalek
2013-1-4
编辑:Azzi Abdelmalek
2013-1-4
check this
2345-fix(2345/10^3)*10^3
then
345-fix(345/10^2)*10^2
and so on
采纳的回答
Sean de Wolski
2013-1-4
Here is a hint:
a = 131245;
b = 12;
op = @(x)hidden_for_you_to_figure_out(x);
pa = op(a);
pb = op(b);
isASub = false; %guilty until proven innocent
for ii = pb:pa
amii = mod(a,(10^ii));
if amii == b
isASub = true;
return;
else
for jj = 1:(ii-pb)
afjj = floor(amii./(10^jj));
if b == afjj
isASub = true;
return;
end
end
end
end
All you have to do it figure out the contents of op().
更多回答(2 个)
Azzi Abdelmalek
2013-1-4
编辑:Azzi Abdelmalek
2013-1-4
n1=12456;
n2=245
a=num2str(n1);
b=num2str(n2);
c=all(ismember(b,a))
if c is equal to 1 that means n2 is a sub number of n1
Walter Roberson
2013-1-4
Create a function that calculates the decimal expansion of a number in reverse order. mod() 10 gives the next digit to be output, integer division by 10, if the result is non-zero keep going.
Apply that to both numbers.
Now match the reversed n2 to the reversed n1.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!