0 'FACTOR.BA Bob Delbourgo 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 CLS:FORI=2TO3:FORJ=2TOINT(319/I) 15 IFI*J<>319THENPRINT@I*J,CHR$(255); 16 NEXTJ,I 20 PRINT@94,"Prime Numbers";:PRINT@174,"Bob Delbourgo";:PRINT@280,"15 Willowdenea Av, Hobart, Australia"; 30 FORT=1TO500:NEXT 40 CLS:LINE(20,13)-(220,49),1,B:PRINT@85,"(1) ENUMERATION OF PRIMES ";:PRINT@125,"(2) FACTORISATION TO PRIMES ";:PRINT@165,"(3) HCF & LCM OF INTEGER SET"; 50 PRINT@205,"(4) QUIT ---ENTER NUMBER";:C$=INPUT$(1):C=VAL(C$):IFC<0ORC>4THEN50 60 ONCGOTO100,200,300,400 100 CLS:PRINT@6,"ENUMERATION OF PRIME NUMBERS"; 105 PRINT@40,STRING$(40,231); 110 PRINT@80,"Prime numbers up to (MAX. 1000)";:INPUTN:N=INT(N):IFN<2ORN>1000THEN110 120 DIMA(N):PRINT"Please wait for them!":GOSUB500 130 FORI=1TON:IFA(I)<>0THENPRINTA(I);:BEEP 140 NEXTI:PRINT:PRINT"

TO PRINT OUT, TO RESTART"; 150 I$=INKEY$ 155 IFI$="P"THEN170 160 IFI$="R"THENCLS:RUN40 165 GOTO150 170 FORI=2TON:IFA(I)<>0THENLPRINT,A(I); 180 NEXTI:LPRINT:GOTO150 200 CLS:PRINT"FACTORISATION OF AN INTEGER INTO PRIMES 205 PRINT@40,STRING$(40,241); 210 PRINT@80,"Enter integer to be factorised";:INPUTR:R=INT(R):IFR>1000000ORR<2THEN210 215 PRINT@160,"Working it out..."; 220 M=R:N=INT(SQR(R)):DIMA(N+1),B(N+1):GOSUB500 230 FORI=2TON:IFA(I)=0THEN250 235 IFM=A(I)*INT(M/A(I))THENB(I)=B(I)+1ELSE250 240 M=M/A(I):GOTO235 250 NEXTI 260 BEEP:PRINT@160,"The prime factorisation of"R"is:" 265 FORI=2TON 270 IFA(I)<>0ANDB(I)<>0THENPRINT"(";MID$(STR$(A(I)),2,LEN(STR$(A(I)))-1);"^";MID$(STR$(B(I)),2,LEN(STR$(B(I)))-1);")"; 280 NEXTI 285 IFM<>1THENPRINT"(";MID$(STR$(M),2,LEN(STR$(M))-1);"^1)"; 290 PRINT:PRINT:PRINT" to Restart, FOR MORE FACTORS."; 295 I$=INKEY$ 296 IFI$="R"THENRUN40 297 IFI$="F"THENRUN200 298 GOTO295 300 CLS:PRINT" HCF AND LCM OF INTEGER SET"; 301 PRINT@40,STRING$(40,167); 303 PRINT@80,"How many integers to factorise";:INPUTS:S=INT(S):IFS<2THEN303ELSEDIMM(S),R(S) 304 FORJ=1TOS:PRINT"Enter #"J"integer";:INPUTR(J):R(J)=INT(R(J)):IFR(J)<2THEN304ELSEM(J)=R(J):NEXTJ:GOSUB600:PRINTSTRING$(40,241);:PRINT"Press any key to proceed to next stage";:GOSUB800:PRINT 305 PRINT:N=INT(SQR(M)):DIMA(N+1),B(N+1,S):GOSUB500 306 FORJ=1TOS:FORI=2TON:IFA(I)=0THEN309 307 IFM(J)=A(I)*INT(M(J)/A(I))THENB(I,J)=B(I,J)+1ELSE309 308 M(J)=M(J)/A(I):GOTO307 309 NEXTI,J:GOSUB900 310 FORJ=1TOS:PRINTR(J);"="; 311 FORI=2TON 312 IFA(I)<>0ANDB(I,J)<>0THENPRINT"(";MID$(STR$(B(I,J)),2,LEN(STR$(B(I,J)))-1);")"; 313 NEXTI 314 IFM(J)<>1THENPRINT"(";MID$(STR$(M(J)),2,LEN(STR$(M))-1);"^1)"; 315 BEEP:GOSUB800:PRINT:NEXTJ 316 BEEP:PRINTSTRING$(40,241);:GOSUB800:DIMC(N+1),L(S) 317 PRINT"The lowest common multiple of" 318 FORJ=1TOS:PRINTR(J);:NEXTJ:PRINT" is" 319 FORI=2TON:IFA(I)=0THEN323 320 C(I)=B(I,1) 321 FORJ=2TOS:IFB(I,J)>C(I)THENC(I)=B(I,J) 322 NEXTJ 323 NEXTI 324 GOSUB700 325 FORI=2TON:IFA(I)=0ORC(I)=0THEN327 326 PRINT"(";MID$(STR$(A(I)),2,LEN(STR$(A(I)))-1);"^";MID$(STR$(C(I)),2,LEN(STR$(C(I)))-1);")"; 327 NEXTI 328 FORJ=1TOS:IFL(J)<2THEN330 329 PRINT"(";MID$(STR$(L(J)),2,LEN(STR$(L(J)))-1);"^1)"; 330 NEXTJ 331 L=1:FORI=2TON:IFA(I)=0ORC(I)=0THEN333 332 FORK=1TOC(I):L=L*A(I):NEXTK 333 NEXTI 334 FORI=1TOS:IFL(I)<2THEN336 335 L=L*L(I) 336 NEXTI 337 PRINT" ="L:PRINTSTRING$(40,241);:BEEP:GOSUB800 338 DIMD(N+1):PRINT"The highest common factor of" 339 FORJ=1TOS:PRINTR(J);:NEXTJ:PRINT"is" 340 FORI=2TON:IFA(I)=0THEN344 341 D(I)=B(I,1) 342 FORJ=2TOS:IFB(I,J)1THENPRINT"(";MID$(STR$(F),2,LEN(STR$(F))-1);"^1); 350 H=1 351 FORI=2TON:IFA(I)=0ORD(I)=0THEN353 352 FORK=1TOD(I):H=H*A(I):NEXTK 353 NEXTI:H=H*F 354 PRINT" ="H 355 PRINTSTRING$(40,241);:PRINT" for menu, for more HCF & LCM."; 356 I$=INKEY$ 357 IFI$="R"THENRUN40 358 IFI$="H"THENRUN300 359 GOTO356 400 MENU 500 FORI=1TON:A(I)=I:NEXTI 505 FORJ=2TOINT(SQR(N)):IFA(J)=0THEN525 510 FORK=J+1TON 515 IFA(K)=A(J)*INT(A(K)/A(J))THENA(K)=0 520 NEXTK 525 NEXTJ 530 RETURN 600 M=M(1):FORJ=2TOS:IFM(J)>M(J-1)THENM=M(J) 610 NEXTJ:RETURN 700 L(1)=M(1):FORJ=1TOS 701 IFM(J)