2016-12-02 136 views
0

所以我想制作一个程序,它将在我输入的数字上使用Collat​​z猜想,但我无法想出一种方法来让程序能够分辨偶数和奇数。我知道它是Python中奇数的x%2 == 0,但我似乎无法在我的计算器的目录中找到它的函数,或者以代数方式执行此操作。如果有人熟悉这个或有任何建议,那会很棒。谢谢!TI-84 Plus CE偶数/奇数功能?

+0

是否有一个圆形或地板功能?如果floor(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 MP操作系统中引入的),我也推荐使用'fPart '尽可能地, – Timtech

+0

Nate,我知道你在说什么,但是请记住,其余部分(从技术上讲,TI-83不支持2.53MP操作系统,在技术上不是TI-83 BASIC)是介绍命令的人。 – 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'条件将任何非零数字解释为真的。' – user3932000

+0

Right。如果你真的想要剩下的A/B,使用'BfPart(A/B)来代替。 – Timtech

0

这里的一个更有效的方式:

/*your number goes here*/ 

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

把的值您的代码中的数字将自动存储在“Ans”变量中。

在if语句中使用“Ans”变量会更有效,而不是通过创建另一个变量来占用额外的内存。

这是因为“Ans”的值存储在计算器内存的保留部分,不会占用额外的空间。

它比“真实的,复杂的,列表,矩阵和字符串变量更快;并且随后,您应尽可能多地尝试使用它”。

来源:

http://tibasicdev.wikidot.com/ans