Duffinian numbers: Difference between revisions

no edit summary
Tag: Manual revert
imported>Maxima enthusiast
No edit summary
Line 1,494:
860671-860673 910115-910117 913951-913953 963271-963273 968255-968257
991231-991233</pre>
 
=={{header|Maxima}}==
<syntaxhighlight lang="maxima">
/* Predicate functions that checks wether an integer is a Duffinian number or not */
duffinianp(n):=if n#1 and not primep(n) and gcd(n,divsum(n))=1 then true$
 
/* Function that returns a list of the first len Duffinian numbers */
duffinian_count(len):=block(
[i:1,count:0,result:[]],
while count<len do (if duffinianp(i) then (result:endcons(i,result),count:count+1),i:i+1),
result)$
 
/* Function that returns a list of the first len Duffinian triples */
duffinian_triples_count(len):=block(
[i:1,count:0,result:[]],
while count<len do (if map(duffinianp,[i,i+1,i+2])=[true,true,true] then (result:endcons([i,i+1,i+2],result),count:count+1),i:i+1),
result)$
 
/* Test cases */
/* First 50 Duffinian numbers */
duffinian_count(50);
 
/* First 15 Duffinian triples */
duffinian_triples_count(15);
</syntaxhighlight>
{{out}}
<pre>
[4,8,9,16,21,25,27,32,35,36,39,49,50,55,57,63,64,65,75,77,81,85,93,98,100,111,115,119,121,125,128,129,133,143,144,155,161,169,171,175,183,185,187,189,201,203,205,209,215,217]
 
[[63,64,65],[323,324,325],[511,512,513],[721,722,723],[899,900,901],[1443,1444,1445],[2303,2304,2305],[2449,2450,2451],[3599,3600,3601],[3871,3872,3873],[5183,5184,5185],[5617,5618,5619],[6049,6050,6051],[6399,6400,6401],[8449,8450,8451]]
</pre>
 
=={{header|Modula-2}}==