Highest power of 2 that divides n.

7 views (last 30 days)
Never mind I messed up.
n=sym('94315998522576010519588224930693232398146802027362761139521');
a=7;
i=1;%this is a counter that starts from 1.
for i=1:inf
remainder=mod(n-1,2^i);
if remainder~=0
break
end
end
r=i-1%r takes the second last value of i because 2 raised to the last value is not divisible by n-1
s=rdivide(n-1,2^r)%this is the integer we get after n-1 is divided by the 2^(i-1)
  2 Comments
David Hill
David Hill on 9 Dec 2019
I am very confused. If you factor n-1, you get:
[ 2, 2, 2, 2, 2, 2, 3, 3, 3, 5, 13, 64763, 36377857, 478202419, 745336575801888629040192801767759];
How is a power of two ever going to be divisible by n-1? I obviously don't understand what you are trying to do.
Yuechuan Chen
Yuechuan Chen on 9 Dec 2019
Yeah I noticed what I did was very wrong. I was basically trying to set up a loop so that n-1 divides 2 repeatedly until the remainer is not 0.
I tried doing this
while mod(n-1,sym(2)^i)==0
i=i+1;
end
which also didn't get me anywhere cloe to the correct answer.
How would i get around this question? Thanks!

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 9 Dec 2019
Edited: James Tursa on 9 Dec 2019
In addition to David's comments, you need to do all of the calculations symbolically, so all of these should be sym: 2, i, r.
  1 Comment
Yuechuan Chen
Yuechuan Chen on 9 Dec 2019
Oh I see, thank you. that why it gave me some stupid numbers. I'm trying to find a way to divide n-1 by 2 repeatedly until the remainder isn't 0 and output how many times it has iterated which would be the answer I want, but I've been trying out all sorts of stuff but it didn't quite work out.

Sign in to comment.

More Answers (1)

Yuechuan Chen
Yuechuan Chen on 9 Dec 2019
n=sym('94315998522576010519588224930693232398146802027362761139521');
a=7;
i=1;
while mod(n-1,2^i)==0
i=i+1;
end
i
r=i-1%r takes the second last value of i because 2 raised to the last value is not divisible by n-1
s=vpa((n-1)/2^r)
Nevermind I think I've got it, My question was very unclear very sorry about that.

Categories

Find more on Loops and Conditional Statements 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!