# Odd and Even equation

by cshum00
Tags: equation
 P: 213 I have been wondering were to put this question but since it is related to algebra, i think i'll post it here. I was playing with numbers and suddenly i came up with the idea of wanting to make a equation f(x) where all x odd number domain will result of range 1, and all even number domain will result of range 0. so: if x = even, f(x) = 0 if x = odd, f(x) = 1 x can only be whole integers {...,-2,-1,0,1,2...} y can only be 0 or 1 I want only one equation that give me such result. Please lend me a hand. I have been cracking my head all day and i always get it wrong. Thanks.
 P: 1,075 What about y=sin2(x*pi/2)
 P: 213 Great! Thanks! That is one way to do it. I wonder if you can make it into step functions? Pretty plesase
HW Helper
P: 9,396
Odd and Even equation

 Quote by cshum00 I want only one equation that give me such result.
Why do you want that?
 P: 529 How about mod(x,2)
P: 213
 Quote by matt grime Why do you want that?
Well, there was this problem in my c++ class that include odd and even numbers. The problem begins that you pick a number and if the number is
-Odd then 3x+1
-Even then x/2

So suppose that i pick 5, then since it is odd it will start:
5 -> 16 -> 8 -> 4 -> 2 -> 1 -> 4 -> 2 -> ....
When the number becomes odd, the odd condition is applied. When the number becomes even, the even condition is applied. However, there is also a loop in there. As you can see that from 1 it goes back to 4. The original problem was how to make a loop that doesn't go forever and it was by adding the condition that when x = 1 stop or while x is different to 1 continue to loop.

However, the problem was extended to that supposing you pick a very large number. And because of the magnitude of the number, there could be a intermediate loop before reaching x = 1 which makes the program loop for ever even if you have the x = 1 condition. Is there any way to find that there is a intermediate loop inside and stop it? Then the professor explain that it is a little game that mathematicians like to play with and they don't have an answer. But i decided to play a bit as well.

I begun to play with real equations and real numbers and i got as far as to be able to write a difference equation which i learned not very long ago and it serves some of my basic purposes to be able to determine the intermediate loop.
yk+1=(3yk+1)(sin2(ykpi/2))+(yk/2)(cos2(ykpi/2))

 Quote by christianjb How about mod(x,2)
That is for programing, right? To be specific, Matlab right? But I am actually trying to get is an equation.
 P: 529 mod(x,2) is a function like any other function. It's perfectly well known by mathematicians.
 P: 213 I didn't know that. Well, thanks then. Learned something new. But what are those kind of equations called? Edit: Is that parametric equations?
 P: 529 I don't think there's any way to tell in advance if this loop terminates. There may be a proof to that extent.
HW Helper
P: 9,396
 Quote by cshum00 Then the professor explain that it is a little game that mathematicians like to play with and they don't have an answer.
It is a very famous and old problem (the 3n+1 problem). It is not known if the sequence terminates in 1 or not for all starting values. In fact Conway (I think) has shown there are variations where it is an undecidable problem.

Equations like sin are going to be useless for C++ (only if you have a symbolic computer library will you be OK to use pi - remember to evaluate something like sin the computer will only use approximations, and even then you have to load math.h in C, say).

I seem to remember that

if(x % 2 ==1) then
(do something on odd numbers
else
do something else on even numbers (though I don't promise to have my precedence of operators correct)

would do. Every computer language has a modulo function, and I think it is % in C, C++, python, perl et al.

This is modular arithmetic (aka clock arithmetic).
P: 213
 Quote by christianjb I don't think there's any way to tell in advance if this loop terminates. There may be a proof to that extent.
True, that is why it will require change to the code but i want to check it analytically first.Well it doesn't hurt to play around with it. After all i do learn new things too!

 Quote by matt grime It is a very famous and old problem (the 3n+1 problem). It is not known if the sequence terminates in 1 or not for all starting values. In fact Conway (I think) has shown there are variations where it is an undecidable problem. Equations like sin are going to be useless for C++ (only if you have a symbolic computer library will you be OK to use pi - remember to evaluate something like sin the computer will only use approximations). I seem to remember that if(x % 2 ==1) then else would do. Every computer language has a modulo function, and I think it is % in C, C++, python, perl et al. This is modular arithmetic (aka clock arithmetic).
Yeah, i heard it was famous but since it is new for me i would like to play it a bit longer until i get bored about it. We already did the past of the modulus and all but i still want to try to see if i can find the loops and if i can i learn even more! It is true that programing languages make approximations that is why i am doing them by hand as well. That is why i wrote the difference equation.
 P: 529 Well, remember us if you succeed and get the Fields medal for math.
 Sci Advisor HW Helper P: 9,396 It is always difficult to decide if one should encourage work like this, or offer strong cautions. I think I would have to edge towards the latter: this problem is very old, very well studied, and no solution has been found. Similar examples are known to be undecidable. It is not something you should start with - I'm sure there are better things to learn from that you can actually make progress with (even if it is already known to someone else).
P: 213
 Quote by christianjb Well, remember us if you succeed and get the Fields medal for math.
I don't think that i am that good yet but if i get it by chance, it would be based and thanks to all the pieces of information that you guys provided me.

______________
matt grime. I understand what you mean. If it is something that i mathematicians haven't been able to solve, there is a very little change that i would - especially with my limited knowledge in mathematics. But who, knows by the smallest change there still a possibility.

Or even if i am not able to solve it at all, i would be able to learn new things on the way. Things that i never thought there were and things i never thought i could use it that way.

I mean with the helps of you guys i was able to get the a function where any odd and even integer number will give me only 0 or 1. I learned a new notation (which i haven't been the name of it yet). I even applied difference equations which i hated so much a few days ago because it is too much trouble to get the results analytically.

Besides i really feels encouraging and challenging to do things that sot everyone can solve.
 Sci Advisor HW Helper P: 9,396 Doing something hard (impossible even) can be useful, but just as long as you're prepared to accept in advance that, whatever else you may gain, progress towards a solution is unlikely, so don't be disappointed.
P: 213
Well, i have been able to make so progress. I am using matlab to graph the difference equations and i have been able to identify a few patterns.

In the case of:
Odd then 3x +1
Even then x/2

-Intermediate loops most likely happen when x is close to 0
-in positive numbers we know that intermediate loop will occur once x reach 1. But in negative integers there are more than one possible -x close to 0 which would lead to intermediate loops (try different -yk)
-Most integer numbers inputed (regardless of being positive or negative) would most likely go close to 0 as the process is carried on.

Without the graph, there are a few more patterns you can see by analyzing the odd and even conditions.
-If odd, then (3x+1) will always transform x to even.
-If even, then (x/2) might or might not transform x to odd.
-If negative odd, then (3x+1) will lead first father away from 0 then +1 unit closer to 0.
-If positive odd, then (3x+1) will always lead father away from 0.
-If positive or negative even, then (x/2) will lead closer to 0.

Big numbers can possibly have more than one whole division by 2 which will most likely lead the numbers towards 0.
Any odd number will always convert it to even, therefore, most likely be reduced again.

There are 3 cases where there will be loops which leads to no end.
1-Intermediate loops inside any y interval
2-Continuous increments towards positive infinity.
3-Continuous decrements towards negative infinity.

I found case number 2 and 3 by graphing large positive or negative numbers in matlab. I am not sure if it was overflow or if it is going towards large infinity then goes back close to 0 (unless i can do it analytically).

Here is my matlab script file so that you can analyze the problem as well if you have the software.

Edit: Intermediate loops is my short way to call the loops that repeat the same values
Attached Files
 cycle.m (650 Bytes, 6 views)
 Sci Advisor HW Helper P: 9,396 That doesn't make sense unless you bother to define what an 'intermediate' loop is.
 P: 213 I am sorry about it. I mean it like it loops with always repeat the same values. For example: 1 -> 4 -> 2 -> 1 -> 4 -> 2 -> 1 -> 4 -> 2 -> 1 -> ......

 Related Discussions Advanced Physics Homework 3 Introductory Physics Homework 2 General Physics 1 General Physics 1 Introductory Physics Homework 2