Amicable pairs: Difference between revisions
m
ANSI Standard BASIC moved to the BASIC section.
(→{{header|Julia}}: Just learned, that we can use headlines to mark alternative versions.) |
m (ANSI Standard BASIC moved to the BASIC section.) |
||
Line 631:
17296 and 18416 are an amicable pair
</pre>
=={{header|ANSI Standard BASIC}}==▼
{{Trans|GFA Basic}}▼
<syntaxhighlight lang="ansi standard basic">100 DECLARE EXTERNAL FUNCTION sum_proper_divisors▼
110 CLEAR▼
120 !▼
130 DIM f(20001) ! sum of proper factors for each n▼
140 FOR i=1 TO 20000▼
150 LET f(i)=sum_proper_divisors(i)▼
160 NEXT i▼
170 ! look for pairs▼
180 FOR i=1 TO 20000▼
190 FOR j=i+1 TO 20000▼
200 IF f(i)=j AND i=f(j) THEN▼
210 PRINT "Amicable pair ";i;" ";j▼
220 END IF▼
230 NEXT j▼
240 NEXT i▼
250 !▼
260 PRINT▼
270 PRINT "-- found all amicable pairs"▼
280 END▼
290 !▼
300 ! Compute the sum of proper divisors of given number▼
310 !▼
320 EXTERNAL FUNCTION sum_proper_divisors(n)▼
330 !▼
340 IF n>1 THEN ! n must be 2 or larger▼
350 LET sum=1 ! start with 1▼
360 LET root=SQR(n) ! note that root is an integer▼
370 ! check possible factors, up to sqrt▼
380 FOR i=2 TO root▼
390 IF MOD(n,i)=0 THEN▼
400 LET sum=sum+i ! i is a factor▼
410 IF i*i<>n THEN ! check i is not actual square root of n▼
420 LET sum=sum+n/i ! so n/i will also be a factor▼
430 END IF▼
440 END IF▼
450 NEXT i▼
460 END IF▼
470 LET sum_proper_divisors = sum▼
480 END FUNCTION</syntaxhighlight>▼
=={{header|AppleScript}}==
Line 1,333 ⟶ 1,289:
=={{header|BASIC}}==
▲==={{header|ANSI Standard BASIC}}===
▲{{Trans|GFA Basic}}
▲<syntaxhighlight lang="ansi standard basic">100 DECLARE EXTERNAL FUNCTION sum_proper_divisors
▲110 CLEAR
▲120 !
▲130 DIM f(20001) ! sum of proper factors for each n
▲140 FOR i=1 TO 20000
▲150 LET f(i)=sum_proper_divisors(i)
▲160 NEXT i
▲170 ! look for pairs
▲180 FOR i=1 TO 20000
▲190 FOR j=i+1 TO 20000
▲200 IF f(i)=j AND i=f(j) THEN
▲210 PRINT "Amicable pair ";i;" ";j
▲220 END IF
▲230 NEXT j
▲240 NEXT i
▲250 !
▲260 PRINT
▲270 PRINT "-- found all amicable pairs"
▲280 END
▲290 !
▲300 ! Compute the sum of proper divisors of given number
▲310 !
▲320 EXTERNAL FUNCTION sum_proper_divisors(n)
▲330 !
▲340 IF n>1 THEN ! n must be 2 or larger
▲350 LET sum=1 ! start with 1
▲360 LET root=SQR(n) ! note that root is an integer
▲370 ! check possible factors, up to sqrt
▲380 FOR i=2 TO root
▲390 IF MOD(n,i)=0 THEN
▲400 LET sum=sum+i ! i is a factor
▲410 IF i*i<>n THEN ! check i is not actual square root of n
▲420 LET sum=sum+n/i ! so n/i will also be a factor
▲430 END IF
▲440 END IF
▲450 NEXT i
▲460 END IF
▲470 LET sum_proper_divisors = sum
▲480 END FUNCTION</syntaxhighlight>
==={{header|BASIC256}}===
{{trans|FreeBASIC}}
|