Разлагане на число в сума от степен 2 - Страница 2

разлагане

Re: Разлагане на число в сума от степен 2

Имам повече или по-малко напреднали в последователността, като включвам "ELSE", който, ако условието c = 0 не е проверено, взема отново резултата от разликата от (n- log [2] (n)) и възстановява l 'операцията 1; т.е. изчислява дневника [2] на разликата.
Ето как изглежда, въпреки че все още има инструкции за включване:

рестартирам;
Разлагане: = proc (n)
местни a, b, c, d;
a: = evalf (log [2] (n));
b: = етаж (a);
c: = евалф (n-2 ^ b);
ако c = 0, отпечатайте (Разлагане = 2 * мощност (b)) else d: = evalf (log [2] (%)):
край, ако:
краен процес:
Разлагане (67);

Re: Разлагане на число в сума от степен 2


Ето какво направих с примерния Ви код:

рестартирам;
Дек: = proc (n)
местни a, b, c;
c: = n;
докато 0

Re: Разлагане на число в сума от степен 2

Благодаря, наистина кодът, който променихте, работи и връща резултатите от търсенето;