Idoneal numbers: Difference between revisions
Content deleted Content added
→{{header|RPL}}: Creation |
→{{header|PL/0}}: Tweak |
||
Line 684: | Line 684: | ||
<syntaxhighlight lang="pascal"> |
<syntaxhighlight lang="pascal"> |
||
const maxcount = 65; |
const maxcount = 65; |
||
var count, n, idoneal, a, b, c, ab, aplusb, nminusa, sum |
var count, n, idoneal, a, b, c, ab, aplusb, nminusa, sum, bagain; |
||
begin |
begin |
||
count := 0; |
count := 0; |
||
Line 691: | Line 691: | ||
n := n + 1; |
n := n + 1; |
||
idoneal := 1; |
idoneal := 1; |
||
a := |
a := 0; |
||
while a < n * idoneal do begin |
|||
a := a + 1; |
|||
nminusa := n - a; |
|||
b := a; |
|||
if b <= nminusa then begin |
|||
bagain := idoneal; |
|||
while bagain = 1 do begin |
|||
b := b + 1; |
|||
ab := a * b; |
|||
aplusb := a + b; |
|||
c := ( n - ab ) / ( aplusb ); |
|||
sum := ab + ( c * aplusb ); |
|||
idoneal := 0; |
|||
idoneal := |
if c <= b then idoneal := 1; |
||
if sum <> n then idoneal := 1; |
|||
bagain := 0; |
|||
if b <= nminusa then if sum <= n then bagain := idoneal |
|||
⚫ | |||
if b <= nminusa then if sum <= n then bagain := idoneal |
|||
end; |
|||
⚫ | |||
a := a + 1; |
|||
aagain := 0; |
|||
if a < n then aagain := idoneal |
|||
end |
|||
end; |
end; |
||
if idoneal = 1 then begin |
if idoneal = 1 then begin |