Highest power of 2 that divides n.
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
David Hill
2019 年 12 月 9 日
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.
採用された回答
James Tursa
2019 年 12 月 9 日
編集済み: James Tursa
2019 年 12 月 9 日
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 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!