Amicable pairs: Difference between revisions
Content added Content deleted
m (→{{header|Wren}}: Minor tidy) |
imported>Arakov |
||
Line 2,133: | Line 2,133: | ||
=={{header|Elena}}== |
=={{header|Elena}}== |
||
{{trans|C#}} |
{{trans|C#}} |
||
ELENA |
ELENA 6.x : |
||
<syntaxhighlight lang="elena">import extensions; |
<syntaxhighlight lang="elena">import extensions; |
||
import system'routines; |
import system'routines; |
||
Line 2,142: | Line 2,142: | ||
{ |
{ |
||
ProperDivisors |
ProperDivisors |
||
= Range.new(1,self / 2).filterBy:(n => self.mod |
= Range.new(1,self / 2).filterBy::(n => self.mod(n) == 0); |
||
get AmicablePairs() |
get AmicablePairs() |
||
Line 2,148: | Line 2,148: | ||
var divsums := Range |
var divsums := Range |
||
.new(0, self + 1) |
.new(0, self + 1) |
||
.selectBy:(i => i.ProperDivisors.summarize(Integer.new())) |
.selectBy::(i => i.ProperDivisors.summarize(Integer.new())) |
||
.toArray(); |
.toArray(); |
||
^ 1.repeatTill(divsums.Length) |
^ 1.repeatTill(divsums.Length) |
||
.filterBy:(i) |
.filterBy::(i) |
||
{ |
{ |
||
var ii := i; |
var ii := i; |
||
Line 2,159: | Line 2,159: | ||
^ (i < sum) && (sum < divsums.Length) && (divsums[sum] == i) |
^ (i < sum) && (sum < divsums.Length) && (divsums[sum] == i) |
||
} |
} |
||
.selectBy:(i => new { Item1 = i; Item2 = divsums[i]; }) |
.selectBy::(i => new { Item1 = i; Item2 = divsums[i]; }) |
||
} |
} |
||
} |
} |
||
Line 2,165: | Line 2,165: | ||
public program() |
public program() |
||
{ |
{ |
||
N.AmicablePairs.forEach:(pair) |
N.AmicablePairs.forEach::(pair) |
||
{ |
{ |
||
console.printLine(pair.Item1, " ", pair.Item2) |
console.printLine(pair.Item1, " ", pair.Item2) |