2016-12-02 17 views
0

Итак, я хочу создать программу, которая будет использовать гипотезу Collatz для чисел, которые я вставляю, но я не могу понять, как сделать программу в состоянии рассказать между четными и нечетными числами. Я знаю, что это x% 2 == 0 для нечетного в Python, но я не могу найти функцию для него в каталоге моего калькулятора или способ алгебраически сделать это. Если кто-то знаком с этим или имеет какие-либо предложения, это было бы здорово. Благодаря!TI-84 Plus CE четная/нечетная функция?

+0

Есть функция круглые или пол? Если пол (x/2) == (x/2), то x четный. – Schilcote

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что это поддержка клиентов для бытовой электроники, а не вопрос программирования. – TigerhawkT3

+7

Я не согласен. TI-BASIC - это язык программирования, и это вопрос программирования. Устройство, на котором выполняется программирование, не определяет вопросность вопроса как вопрос программирования. –

ответ

4

TI-84 + использует обновленную версию TI-83 TI-BASIC. Вы можете использовать функцию remainder() на этом калькуляторе, чтобы определить, является ли число делится на 2.

remainder(20/2) имеет значение 0.

Вы можете использовать базовую условную логику для печати любого вывода, который вы хотите!

Для документации на TI-BASIC, проверьте http://tibasicdev.wikidot.com/

+0

Я никогда не видел остатка (на моем ti-84, но я использую fPart (-it возвращает десятичную часть любого числа –

+0

@ PrivateCaller 'остаток (' был введен в 2.53-мегапиксельной операционной системе.Я также рекомендую использовать 'fPart ('если это вообще возможно. – Timtech

+0

Nate, я знаю, что вы пытаетесь сказать, но помните, что' остаток ('технически не TI-83 BASIC в том смысле, что TI-83 не поддерживает ОС 2.53MP, что это тот, который вводил команду. – Timtech

3

remainder( существует только на новой прошивке. Лучший способ сделать это, без каких-либо затрат на ваш размер, - использовать fPart(, который представляет собой только один байт вместо двух.

Вот пример:

[Your Number]->A 
If fPart(A/2 
Then 
Disp "ODD 
Else 
Disp "EVEN 
End 

... который может быть сокращен до:

Disp sub("EVENODD ",1+8fPart(A/2),4 
+1

И 'fPart (A/2' работает, потому что' fPart ('команда возвращает дробную часть числа, а условное выражение' If' интерпретирует любое ненулевое число как значение true. – user3932000

+0

Право. Если вы действительно хотите, чтобы остальная часть A/B, вместо этого используйте 'BfPart (A/B'. – Timtech

0

Вот более эффективный способ:

/*your number goes here*/ 

if fPart(Ans/2):Then 
Disp "Odd 
Else 
Disp "Even 
End 

Ввод значения из число в вашем коде автоматически сохраняет его внутри переменной «Ans».

Было бы более эффективно использовать переменную «Ans» в вашей инструкции if вместо использования дополнительной памяти путем создания другой переменной.

Это потому, что значение «Ans» хранится в зарезервированной части памяти калькулятора, которая не займет лишнего места.

Он также быстрее, чем «реальные, сложные, список, матрица и строковые переменные, а затем вы должны попытаться использовать его как можно больше».

Источник:

http://tibasicdev.wikidot.com/ans