Ludic numbers: Difference between revisions
Content added Content deleted
Line 2,031: | Line 2,031: | ||
{21475, 21481, 21487, 21493, 21503, 21511} |
{21475, 21481, 21487, 21493, 21503, 21511} |
||
{{1, 3, 7}, {5, 7, 11}, {11, 13, 17}, {23, 25, 29}, {41, 43, 47}, {173, 175, 179}, {221, 223, 227}, {233, 235, 239}}</pre> |
{{1, 3, 7}, {5, 7, 11}, {11, 13, 17}, {23, 25, 29}, {41, 43, 47}, {173, 175, 179}, {221, 223, 227}, {233, 235, 239}}</pre> |
||
=={{header|Objeck}}== |
|||
{{trans|Java}} |
|||
<lang objeck>use Collection.Generic; |
|||
class Ludic { |
|||
function : Main(args : String[]) ~ Nil { |
|||
ludics := LudicUpTo(110); |
|||
Show("First 25 Ludics: ", ludics, 0, ludics->Size()); |
|||
System.IO.Console->Print("Ludics up to 1000: ")->PrintLine(LudicUpTo(1000)->Size()); |
|||
ludics := LudicUpTo(22000); |
|||
Show("2000th - 2005th Ludics: ", ludics, 1999, 2005); |
|||
Show("Triplets up to 250: ", GetTriplets(LudicUpTo(250))); |
|||
} |
|||
function : LudicUpTo(n : Int) ~ CompareVector<IntHolder> { |
|||
ludics := CompareVector->New()<IntHolder>; |
|||
for(i := 1; i <= n; i++;){ |
|||
ludics->AddBack(i); |
|||
}; |
|||
for(cursor := 1; cursor < ludics->Size(); cursor++;) { |
|||
thisLudic := ludics->Get(cursor); |
|||
removeCursor := cursor + thisLudic; |
|||
while(removeCursor < ludics->Size()){ |
|||
ludics->Remove(removeCursor); |
|||
removeCursor := removeCursor + thisLudic - 1; |
|||
}; |
|||
}; |
|||
return ludics; |
|||
} |
|||
function : GetTriplets(ludics : CompareVector<IntHolder>) ~ Vector<CompareVector<IntHolder> > { |
|||
triplets := Vector->New()<CompareVector<IntHolder> >; |
|||
for(i := 0; i < ludics->Size() - 2; i++;){ |
|||
thisLudic := ludics->Get(i); |
|||
if(ludics->Has(thisLudic + 2) & ludics->Has(thisLudic + 6)){ |
|||
triplet := CompareVector->New()<IntHolder>; |
|||
triplet->AddBack(thisLudic); |
|||
triplet->AddBack(thisLudic + 2); |
|||
triplet->AddBack(thisLudic + 6); |
|||
triplets->AddBack(triplet); |
|||
}; |
|||
}; |
|||
return triplets; |
|||
} |
|||
function : Show(title : String, ludics : CompareVector<IntHolder>, start : Int, end : Int) ~ Nil { |
|||
title->Print(); |
|||
'['->Print(); |
|||
for(i := start; i < end; i +=1;) { |
|||
ludics->Get(i)->Get()->Print(); |
|||
if(i + 1 < ludics->Size()) { |
|||
','->Print(); |
|||
}; |
|||
}; |
|||
']'->PrintLine(); |
|||
} |
|||
function : Show(title : String, triplets : Vector<CompareVector<IntHolder> >) ~ Nil { |
|||
title->PrintLine(); |
|||
each(i : triplets) { |
|||
triplet := triplets->Get(i); |
|||
Show("\t", triplet, 0, triplet->Size()); |
|||
}; |
|||
} |
|||
} |
|||
</lang> |
|||
{{output}} |
|||
<pre> |
|||
First 25 Ludics: [1,2,3,5,7,11,13,17,23,25,29,37,41,43,47,53,61,67,71,77,83,89,91,97,107] |
|||
Ludics up to 1000: 142 |
|||
2000th - 2005th Ludics: [21475,21481,21487,21493,21503,21511,] |
|||
Triplets up to 250: |
|||
[1,3,7] |
|||
[5,7,11] |
|||
[11,13,17] |
|||
[23,25,29] |
|||
[41,43,47] |
|||
[173,175,179] |
|||
[221,223,227] |
|||
[233,235,239] |
|||
</pre> |
|||
=={{header|Oforth}}== |
=={{header|Oforth}}== |