how can i check if n2 is a sub number of n1? (HW qst.)
Show older comments
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 Comments
Image Analyst
on 4 Jan 2013
What is the class of n1 and n2? Strings, number??? What does this say:
whos n1
I'm not sure you can do it if you can use strings or arrays. Is a scalar (single number but not an array of 2 or more number) allowed? Also define subnumber. Is 2 a subnumber of 4 because it's a factor of 4? Or do the digits have to be in order in the larger number, like 22 and 42 are subnumbers of 4422, even though they may not be integer factors of it.
Zaza
on 4 Jan 2013
Sean de Wolski
on 4 Jan 2013
Edited: Sean de Wolski
on 4 Jan 2013
Not using strings, this is not trivial (at least I haven't come up with a trivial way to do it yet, maybe a conversion to binary and comparison? or dynamic programming with mod, log10?).
Zaza
on 4 Jan 2013
Azzi Abdelmalek
on 4 Jan 2013
The highest power of 10 correspond to 1 not 5
Azzi Abdelmalek
on 4 Jan 2013
Edited: Azzi Abdelmalek
on 4 Jan 2013
check this
2345-fix(2345/10^3)*10^3
then
345-fix(345/10^2)*10^2
and so on
Accepted Answer
More Answers (2)
Azzi Abdelmalek
on 4 Jan 2013
Edited: Azzi Abdelmalek
on 4 Jan 2013
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
6 Comments
Zaza
on 4 Jan 2013
Azzi Abdelmalek
on 4 Jan 2013
Why?
Zaza
on 4 Jan 2013
Azzi Abdelmalek
on 4 Jan 2013
Edited: Azzi Abdelmalek
on 4 Jan 2013
I will give you hints:
a=124 ;a1=1, a2=2, a3=4
to find a3:
a3=fix(a/10^2); %(an=fix(a/10^(n-1))
In your previous question the number of digit in an integer number is
int=-123456789
digit_number=max(ceil(log10(abs(int))),1)
Zaza
on 4 Jan 2013
Azzi Abdelmalek
on 4 Jan 2013
Yes you can
Walter Roberson
on 4 Jan 2013
0 votes
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.
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!