CLEAR Y # loop times
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
INCREASE Y
REPEAT Y TIMES
(
REPEAT Y TIMES (
INCREASE Y
)
)
PRINT X #print
REPEAT Y TIMES
(
CLEAR A # temp variable
CLEAR B # temp variable
CLEAR C
REPEAT X TIMES
(
INCREASE B
REPEAT A TIMES
(
CLEAR A
CLEAR B
INCREASE C
)
REPEAT B TIMES
(
INCREASE A
)
)
REPEAT C TIMES
(
CLEAR C
INCREASE C
)
# now B is 0 if X = 1 and in other cases its 1
REPEAT C TIMES
(
# now lets put the current number through alogrithm
# since it was not 1
# PARILLINEN CHECK:
CLEAR A
CLEAR V
CLEAR P
REPEAT X TIMES
(
INCREASE P
)
INCREASE P
REPEAT P TIMES
(
INCREASE V
REPEAT A TIMES
(
CLEAR A
CLEAR V
)
REPEAT V TIMES
(
INCREASE A
)
)
# now V is 1 if its parillinen and 0 if its pariton!
REPEAT V TIMES # PARILLISEN LUVUN KÄSITTELY
(
# this happens only if X is parillinen
# tehdään jakolasku X / 2
# JAKOLASKU ALKAA
# Sitten käytetään jakofunktiota A:han ja tallennetaan vastaus C:hen
CLEAR A # temp variable
CLEAR B # temp variable
CLEAR C
REPEAT X TIMES
(
INCREASE B
REPEAT A TIMES
(
CLEAR A
CLEAR B
)
REPEAT B TIMES
(
INCREASE A
INCREASE C
)
)
# JAKOLASKU LOPPUU ja lasku tallennettu E:hen
CLEAR M
REPEAT C TIMES
(
INCREASE M # Tallennetaan X / 2 M:ään
)
)
# Now lets check if the luku X is pariton:
# PARITTOMAN LUVUN CHECK
CLEAR A
CLEAR V
REPEAT X TIMES
(
INCREASE V
REPEAT A TIMES
(
CLEAR A
CLEAR V
)
REPEAT V TIMES
(
INCREASE A
)
)
# now V is 1 if X is pariton and 0 if X is parillinen!
REPEAT V TIMES # PARITTOMAN LUVUN KÄSITTELY
(
# eli kerro kolmella ja lisää yksi
CLEAR T # temp to be X
REPEAT X TIMES
(
INCREASE T # set T to X
)
CLEAR M # clearataan M jotta se voidaan asettaa
CLEAR K # temp variable to be 3
INCREASE K
INCREASE K
INCREASE K # set K to 3
REPEAT T TIMES
(
REPEAT K TIMES
(
INCREASE M
)
)
INCREASE M # last increase
CLEAR X
REPEAT M TIMES
(
INCREASE X
)
PRINT X #print
# TEHDÄÄN PARILLISEN LUVUN KÄSITTELY HETI PERÄÄN
# this happens only if X is parillinen
# tehdään jakolasku X / 2
# JAKOLASKU ALKAA
# Sitten käytetään jakofunktiota A:han ja tallennetaan vastaus C:hen
CLEAR A # temp variable
CLEAR B # temp variable
CLEAR C
REPEAT X TIMES
(
INCREASE B
REPEAT A TIMES
(
CLEAR A
CLEAR B
)
REPEAT B TIMES
(
INCREASE A
INCREASE C
)
)
# JAKOLASKU LOPPUU ja lasku tallennettu E:hen
CLEAR M
REPEAT C TIMES
(
INCREASE M # Tallennetaan X / 2 M:ään
)
)
# viimeisenä asetetaan X M:ään
CLEAR X
REPEAT M TIMES
(
INCREASE X
)
PRINT X #print
)
)