3 ms·
C# equivalent: IEnumerable<int> filter(int p, IEnumerable<int> xs) { foreach(var j in xs) if (j % p > 0) yield return j; } IEnumera
by d--b 7y ago
C# equivalent:
IEnumerable<int> filter(int p, IEnumerable<int> xs) {
foreach(var j in xs)
if (j % p > 0) yield return j;
}
IEnumerable<int> sieve(IEnumerable<int> s) {
var p = s.First();
yield return p;
foreach(var e in sieve(filter(p,s.Skip(1))))
yield return e;
}
var n = sieve(Enumerable.Range(2, 10000)).Skip(10).First();
- m0skit0 7y agoLess readable in my opinion and I'm more used to C# code than Haskell.
- jayrwren 7y agocame here to point out that the author doesn't seem to know C# very well if they don't know about Enumerable.Range.
- lostmsu 7y agoWhy did you write own filter, when you could just do .Where(j => j % p > 0)?