TI-Basic: Programme und Tutorials: Querprodukt
Zur Navigation springen
Zur Suche springen
| Erstellt von: | Peter Riedel |
| Schwierigkeitsgrad: | fortgeschritten |
| Modell: | Voyage 200 |
Querprodukt
Linksassoziativ
Ziffern der natürlichen Zahl werden von links nach rechts ziffernweise multipliziert, sodass man das Querprodukt von erhält.
Funktion
:qp(n) :Func : Return Π((mod(n,10^(num(n,1)-i))-mod(n,10^(num(n,1)-i-1)))/10^(num(n,1)-i-1),i,0,num(n,1)-1) :EndFunc
Programm
:qp(n) :Prgm :EndPrgm
Rechtsassoziativ
Ziffern der natürlichen Zahl werden von rechts nach links ziffernweise multipliziert, sodass man das Querprodukt von erhält.
Funktion
:digitpro(n) :Func :If n<0 or mod(n,1)≠0 Then : return undef :Return Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,numdigit(n,1)-1) :EndFunc
:numdigit(n,i) :Func :While 10^i≤n : i+1→i :EndWhile :Return i :EndFunc
Programm
:digitpro(n)
:Prgm
:ClrIO
:If n<0 or mod(n,1)≠0 Then
: Disp "Error: n ∈ N = {0,1,2,...,∞}"
: Return
:EndIf
:1→i
:While 10^i≤n
: i+1→i
:EndWhile
:string(n)→n
:1→q
:While i>0
: expr(mid(n,i,1))→j
: q*j→q
: i-1→i
:EndWhile
:string(q)→q
:Disp "digit product: "&q
:EndPrgm
Iteratives Querprodukt
Rekursion
Funktion
:muldigrt(n,k) :Func :If n<10 Then : Return n :ElseIf Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1)<10 Then : Return Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1) :ElseIf Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1)≥10 Then : If (mod(Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1),10^k)-mod(Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1),10^(k-1)))/10^(k-1)≠0 Then : Return muldigrt(Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1),k) : Else : Return muldigrt(Π((mod(n,10^(i+1))-mod(n,10^i))/10^i,i,0,k-1),k-1) : EndIf :EndIf :EndFunc
Programm
:muldigrt(n)
:Prgm
:ClrIO
:If n<0 or mod(n,1)≠0 Then
: Disp "Error: n ∈ N = {0,1,2,...,∞}"
: Return
:EndIf
:0→k
:While n>9
: 1→i
: While 10^i≤n
: i+1→i
: EndWhile
: string(n)→n
: 1→q
: While i>0
: expr(mid(n,i,1))→j
: q*j→q
: i-1→i
: EndWhile
: k+1→k
: q→n
:EndWhile
:string(n)→n
:string(k)→k
:Disp "multiplicative digital root: "&n,"multiplicative persistence: "&k
:EndPrgm