## how can i check if n2 is a sub number of n1? (HW qst.)

### Zaza (view profile)

on 4 Jan 2013
Accepted Answer by Sean de Wolski

### Sean de Wolski (view profile)

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

Zaza

### Zaza (view profile)

on 4 Jan 2013

suppose i have

n1 = 12345;

how can i omit the first (in the highest power of 10) digit to get

n1 = 2345;

and so on

in this way if n2 is a sub number of n1 it'll match...

Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 4 Jan 2013

The highest power of 10 correspond to 1 not 5

Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 4 Jan 2013

check this

```2345-fix(2345/10^3)*10^3
```

then

```345-fix(345/10^2)*10^2
```

and so on

## Products

No products are associated with this question.

### Sean de Wolski (view profile)

on 4 Jan 2013

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().

Zaza

### Zaza (view profile)

on 6 Jan 2013

op() == num_of_digits() ???

### Azzi Abdelmalek (view profile)

on 4 Jan 2013
Edited by Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

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

Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

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

### Zaza (view profile)

on 4 Jan 2013

can i use floor instead of fix?

Azzi Abdelmalek

on 4 Jan 2013

Yes you can

### Walter Roberson (view profile)

on 4 Jan 2013

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.

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi