TI-85/6 Programs
Contents:







:ClLCD
// This is a much quicker way to to enter the list of alphabetic characters
:"ABCDEFGHIJKLMNOPQRSTUVWXYZ"→A
:0→N
:1→next
// To see how this works, take a look at the annotation for above.
// What's new here is just a repetition of input for each of 2 base 26
// factors and a computation of the product translated to base 26 at the end.
:Outpt(1,1,"Enter first factor")
:Outpt(2,1,"Press ENTER to finish")
:While (next==1)
  :0→IKY
  :Repeat (IKY≠0)
    :getKy→IKY
  :End
  :If (IKY≥51 and IKY≤55)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-50,1))
    :N→dimL F1
    :IKY-51→F1(N)
  :End
  :If (IKY≥61 and IKY≤65)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-55,1))
    :N→dimL F1
    :IKY-56→1(N)
  :End
  :If (IKY≥71 and IKY≤75)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-60,1))
    :N→dimL F1
    :IKY-61→F1(N)
  :End
  :If (IKY≥81 and IKY≤85)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-65,1))
    :N→dimL F1
    :IKY-66→F1(N)
  :End
  :If (IKY≥92 and IKY≤95)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-71,1))
    :N→dimL F1
    :IKY-72→F1(N)
  :End
  :If (IKY≥102 and IKY≤103)
  :Then
    :N+1→N
    :Outpt(3,N+1,sub(A,IKY-77,1))
    :N→dimL F1
    :IKY-78→F1(N)
  :End
  :If (IKY==105)
  :Then
    :0→next
  :End
:End
:Outpt(3,N+2,"=")
:0→P
:For(i,1,N)
  :P+F1(i)*26^(N-i)→P
:End
:Outpt(3,N+3,P)
:
:0→N
:1→next
// Repeat above input of base 26 factor for second factor
:Outpt(4,2,"Enter 2nd factor.")
:Outpt(5,1,"Press ENTER to finish")
:While (next==1)
  :0→IKY
  :Repeat (IKY≠0)
    :getKy→IKY
  :End
  :If (IKY≥51 and IKY≤55)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-50,1))
    :N→dimL F1
    :IKY-51→F1(N)
  :End
  :If (IKY≥61 and IKY≤65)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-55,1))
    :N→dimL F1
    :IKY-56→F1(N)
  :End
  :If (IKY≥71 and IKY≤75)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-60,1))
    :N→dimL F1
    :IKY-61→F1(N)
  :End
  :If (IKY≥81 and IKY≤85)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-65,1))
    :N→dimL F1
    :IKY-66→F1(N)
  :End
  :If (IKY≥92 and IKY≤95)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-71,1))
    :N→dimL F1
    :IKY-72→F1(N)
  :End
  :If (IKY≥102 and IKY≤103)
  :Then
    :N+1→N
    :Outpt(6,N+1,sub(A,IKY-77,1))
    :N→dimL F1
    :IKY-78→F1(N)
  :End
  :If (IKY==105)
  :Then
    :0→next
  :End
:End
:Outpt(6,N+2,"=")
// Q holds the second factor
:0→Q
:For(i,1,N)
  :Q+F1(i)*26^(N-i)→Q
:End
:Outpt(6,N+3,Q)
:
:Outpt(7,1,"Product =")
// Compute product in base 10
:P*Q→R
:1+mod(R,26)→REM
:0→I
// Convert base 10 product to base 26
:While (R≠0)
  :I+1→I
   // Display the product in base 26 using alphabetic characters.
   // REM is the remainder when R is divided by 26 and gives the position in the alphabet
  :Outpt(8,21-I,sub(A,REM,1))
  :iPart (R/26)→R
  :1+mod(R,26)→REM
:End