How can I spilt long integer number into pairs?

2 views (last 30 days)
Hi all,
I am working to solve the problem of finding the square root by using long division operation?
I know that there is a build in square root function but in my case I have to build my own function to find a square root by using a long division!
The first step of finding the square root by long division is decompose a number in two pairs and then work from that point.
ex: 1987 --> First pair(87), second pair(19) &&&& 198 --> First pair(98), second pair(1) as we should start pairing from right to left!
Could anyone help me to solve this issue? I wish if someone already has the code for perform square root by division! This will make live easier : )
Cheers,

Accepted Answer

Niklas Nylén
Niklas Nylén on 17 Apr 2014
To split the integer x into pairs according to your description:
x = 12345
numDigitsInX = floor(log10(x))+1;
pairs = zeros(ceil(numDigitsInX/2),1);
for ii = 1:length(pairs)
pairs(ii) = mod(x,100);
x = (x-pairs(ii))/100;
end
  2 Comments
Niklas Nylén
Niklas Nylén on 17 Apr 2014
What is q? The variable 'pairs' contains the number pairs.
pairs =
45
23
1

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!