home *** CD-ROM | disk | FTP | other *** search
- 100 POKE53272,23:POKE53280,11:POKE53281,0
- 102 PRINT"[147][158][208]OLYNOMIAL [198]ACTORING AND [204]ONG [196]IVIDING"
- 105 PRINT"[159][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
- 106 PRINT" [194]Y [202][197][198][198] [195][207][213][195][203][213][217][212]"
- 107 PRINT"[151][194]ASED ON THE FACTOR THEOREM."
- 108 PRINT"[196]ESIGNED FOR USE ON ALL THOSE NASTY"
- 109 PRINT"FACTORING QUESTIONS YOUR MATH TEACHER"
- 110 PRINT"GIVES YOU FOR HOMEWORK. [206]OTE: BECAUSE"
- 111 PRINT"THIS PROGRAM USES THE FACTOR THEOREM,"
- 112 PRINT"NOT ALL POLYNOMIALS CAN BE CORRECTLY"
- 113 PRINT"FACTORED. ([217]OU MAY SOON DISCOVER THIS!)"
- 115 PRINT"[215]HAT IS THE DEGREE"
- 120 INPUT"OF YOUR POLYNOMIAL (2-10)";DG
- 130 IFDG<2ORDG>10THEN120
- 140 PRINT"[147][193]LL COEFFICIENTS HAVE MAX OF 999 AND MIN OF -999!!!"
- 150 FORZZ=DGTO0STEP-1
- 160 PRINT"[151][195]OEFFICIENT FOR [216][145]"ZZ"TERM";:INPUTCF(ZZ)
- 170 IFCF(ZZ)<-999ORCF(ZZ)>999THEN160
- 180 NEXT
- 190 PRINT"[147][158][212]HIS IS YOUR POLYNOMIAL:"
- 195 NM=DG:FORZZ=0TODG:VR(ZZ)=CF(ZZ):NEXT
- 200 GOSUB60000
- 210 INPUT"[201]S THIS CORRECT?";ZZ$
- 220 IFLEFT$(ZZ$,1)="N"THEN110
- 230 PRINT"[147][194]EGINNING FACTOR CHECK OF:"
- 235 CN=0
- 240 GOSUB60000
- 250 ONDGGOTO260,270,280,290,300,320,340,360,380,400
- 260 DEFFNT2(X)=CF(1)*X+CF(0):GOTO430
- 270 DEFFNT2(X)=CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 280 DEFFNT2(X)=CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 290 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 300 DEFFNTT(X)=CF(5)*X^5
- 310 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 320 DEFFNTT(X)=CF(6)*X^6+CF(5)*X^5
- 330 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 340 DEFFNTT(X)=CF(7)*X^7+CF(6)*X^6+CF(5)*X^5
- 350 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 360 DEFFNTT(X)=CF(8)*X^8+CF(7)*X^7+CF(6)*X^6+CF(5)*X^5
- 370 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 380 DEFFNTT(X)=CF(9)*X^9+CF(8)*X^8+CF(7)*X^7+CF(6)*X^6+CF(5)*X^5
- 390 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 400 DEFFNTT(X)=CF(10)*X^10+CF(9)*X^9+CF(8)*X^8+CF(7)*X^7+CF(6)*X^6+CF(5)*X^5
- 410 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0):GOTO430
- 420 DEFFNT2(X)=CF(4)*X^4+CF(3)*X^3+CF(2)*X^2+CF(1)*X+CF(0)
- 430 PRINT"[208]OSSIBLE FACTORS:[152]"
- 440 TI$="000000"
- 450 FT=-ABS(CF(0)):GOSUB50000:IFCN=DGTHEN560
- 460 FT=ABS(CF(0)):GOSUB50000:IFCN=DGTHEN560
- 470 LL=-ABS(CF(0))/2:HH=ABS(CF(0))/2
- 480 LL=INT(LL-.5):HH=INT(HH+.5)
- 500 FORFT=LL TO HH
- 510 IFFT=0THEN550
- 520 IFCN=DGTHEN560
- 530 IFINT(CF(0)/FT)<>CF(0)/FTTHEN550
- 540 GOSUB50000
- 550 NEXT
- 560 PRINT"[145] "
- 570 TM=TI
- 580 IFCN=0THENPRINT"NO FACTORS FOUND.":GOTO600
- 590 PRINT""CN"FACTORS FOUND."
- 600 PRINT"[159][195]ALCULATIONS TOOK"TM/60/60"MINS"
- 610 PRINT" ("TM/60"SECONDS.)":TR=1
- 615 IFCN=0THEN640
- 616 FORZZ=1TOCN:TR=TR*FR(ZZ):NEXT
- 617 IFCN=DGANDTR=CF(0)THENPRINT"[195]ANNOT FACTOR FUTHER.":GOTO640
- 620 PRINT"[151][215]OULD YOU LIKE ME TO DIVIDE USING"
- 630 INPUT"ONE OF THE ABOVE FACTORS";XX$
- 635 IFLEFT$(XX$,1)="Y"THEN660
- 640 INPUT"[151][193]NOTHER POLYNOMIAL";XX$
- 645 IFLEFT$(XX$,1)="Y"THENRUN
- 650 END
- 660 IFCN=1THENDV=FR(1):GOTO690
- 670 PRINT"[158][215]HICH FACTOR (1-"CN")";:INPUTZZ
- 675 IFZZ<1ORZZ>CNTHEN670
- 680 DV=FR(ZZ)
- 690 PRINT"[147][154][196]IVIDING [208]OLYNOMIAL:"
- 700 GOSUB60000
- 710 PRINT"[153][194]Y: ([216]";
- 720 IFABS(DV)=DVTHENPRINT"+"DV"[157])":GOTO740
- 730 PRINTDV"[157])"
- 740 PRINT"[156][209]UOTIENT:":TI$="000000"
- 750 FORZZ=0TODG:TE(ZZ)=CF(ZZ):NEXT
- 760 FORZZ=DGTO1STEP-1
- 770 AA=TE(ZZ)
- 780 VR(ZZ-1)=AA
- 790 TE(ZZ-1)=TE(ZZ-1)-AA*DV
- 800 NEXT:NM=DG-1:TM=TI:GOSUB60000
- 810 PRINT"[150][195]ALCULATIONS TOOK"TM/60/60"MINS"
- 815 PRINT" ("TM/60"SECONDS)"
- 817 IFDG<2THEN850
- 820 PRINT"[151][215]OULD YOU LIKE ME TO FACTOR THE"
- 830 INPUT"QUOTIENT";ZZ$
- 840 IFLEFT$(ZZ$,1)="Y"THENDG=DG-1:FORZZ=0TODG:CF(ZZ)=VR(ZZ):NEXT:CN=0:GOTO230
- 850 GOTO640
- 50000 IFDG<5THENTL=FNT2(FT):GOTO50005
- 50003 TL=FNTT(FT)+FNT2(FT)
- 50005 PRINT"[145]"FT"[157] "
- 50030 IFTL<.0001ANDTL>-.0001THEN50035
- 50033 GOTO50050
- 50035 PF=FT*-1:CN=CN+1:FR(CN)=PF:PF$=STR$(PF):PF$=RIGHT$(PF$,LEN(PF$)-1)
- 50037 PRINT"[145]"CN"[157]. ([216]";
- 50038 IFABS(PF)=PFTHENPRINT"+"PF$")":GOTO50050
- 50040 PRINT"-"PF$")"
- 50050 RETURN
- 60000 XX=0
- 60010 FORZZ=NMTO0STEP-1
- 60020 XX=XX+1
- 60030 IFXX=7THENPRINT""CHR$(13)
- 60040 IFVR(ZZ)=0THEN60150
- 60050 CF$=STR$(VR(ZZ))
- 60060 ZZ$=STR$(ZZ)
- 60070 IFSGN(VR(ZZ))=-1THENPP$=CF$:GOTO60090
- 60080 PP$=RIGHT$(CF$,LEN(CF$)-1)
- 60090 EX$=RIGHT$(ZZ$,LEN(ZZ$)-1)
- 60100 IFSGN(VR(ZZ))=1ANDXX<>1THENPRINT"+";
- 60115 IFVAL(EX$)=1ANDVR(1)<>0THENPRINTPP$"[216]";:GOTO60117
- 60116 GOTO60120
- 60117 GOTO60150
- 60120 IFVAL(EX$)=0ANDVR(0)<>0THENPRINTPP$:GOTO60125
- 60123 GOTO60127
- 60125 GOTO60160
- 60127 IFVR(ZZ)=1THENPRINT"[216][145]"EX$"";:GOTO60150
- 60130 IFVR(ZZ)=-1THENPRINT"-[216][145]"EX$"";:GOTO60150
- 60140 PRINTPP$"[216][145]"EX$"";
- 60150 NEXT
- 60160 RETURN
-