void Main() { var primeTest = Observable.Range(1, 7_777_7…
void Main()
{
var primeTest = Observable.Range(1, 7_777_777).Select(n => n.IsPrime());
primeTest.SelectMany(t => t.Select(a => a.ToString()))
.Dump("Primes", true);
}
public static class QuantumeSuperposition
{
public static IObservable<(int, bool)> IsPrime(this int n)
{
return Observable.Create<(int, bool)>(o =>
{
var isPrime = Enumerable.Range(2, n - 1)
.Where(d => d != n).All(d => n % d != 0);
o.OnNext((n, isPrime));
o.OnCompleted();
return Disposable.Empty;
});
}
}