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 5.0 :
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:n == 0);
= 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)