Розкладання числа на ступінь 2 - Сторінка 2

сторінка

Re: Розкладання числа на суму степеня 2

Я більш-менш просунувся в послідовності, включивши "ІНШЕ", яке, якщо умова 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)) ще d: = evalf (log [2] (%)):
закінчити, якщо:
кінцевий процес:
Розкладання (67);

Re: Розкладання числа на суму степеня 2


Ось що я зробив із вашим зразком коду:

перезапустити;
Грудень: = proc (n)
місцеві a, b, c;
c: = n;
тоді як 0

Re: Розкладання числа на суму степеня 2

Дякую, дійсно код, який ви змінили, працює і повертає результати пошуку;
ні, рядок у Maple не обов’язково закінчується знаком ";", але цілком може закінчуватися знаком ":".
Різниця полягає в тому, що коли ви ставите ";" тоді взагалі Maple друкує те, що перед ";", наприклад проміжний результат; ":", з іншого боку, у кінці рядка, означає, що ми не просимо Maple відображати результат виразу, який стоїть перед ":".

Для "od" та "end do" будь-який з них може бути використаний як інший вираз; "od" - це просто скорочення слова "end do".
Отже, ми можемо так само добре написати од, як і end, щоб закінчити цикл.
У будь-якому випадку, дякую за вашу допомогу, яка мені дуже корисна, послідовність нарешті діє.
сердечно

Re: Розкладання числа на суму степеня 2

Я повертаюся лише для невеликих деталей, щодо послідовності.
Якщо хтось може мені допомогти, будь ласка, щоб результати були у вигляді списку; що дозволяє включати результати, наприклад, в інші послідовності.

Ось послідовність у її поточному стані:

перезапустити;
Грудень: = proc (n)
місцеві a, b, c;
запам'ятати варіант;
c: = n;
тоді як 0