Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
59
Task/Cuban-primes/C-sharp/cuban-primes.cs
Normal file
59
Task/Cuban-primes/C-sharp/cuban-primes.cs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
static class Program
|
||||
{
|
||||
static List<long> primes = new List<long>() { 3, 5 };
|
||||
|
||||
static void Main(string[] args)
|
||||
{
|
||||
const int cutOff = 200;
|
||||
const int bigUn = 100000;
|
||||
const int chunks = 50;
|
||||
const int little = bigUn / chunks;
|
||||
const string tn = " cuban prime";
|
||||
Console.WriteLine("The first {0:n0}{1}s:", cutOff, tn);
|
||||
int c = 0;
|
||||
bool showEach = true;
|
||||
long u = 0, v = 1;
|
||||
DateTime st = DateTime.Now;
|
||||
for (long i = 1; i <= long.MaxValue; i++)
|
||||
{
|
||||
bool found = false;
|
||||
int mx = System.Convert.ToInt32(Math.Ceiling(Math.Sqrt(v += (u += 6))));
|
||||
foreach (long item in primes)
|
||||
{
|
||||
if (item > mx) break;
|
||||
if (v % item == 0) { found = true; break; }
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
c += 1; if (showEach)
|
||||
{
|
||||
for (var z = primes.Last() + 2; z <= v - 2; z += 2)
|
||||
{
|
||||
bool fnd = false;
|
||||
foreach (long item in primes)
|
||||
{
|
||||
if (item > mx) break;
|
||||
if (z % item == 0) { fnd = true; break; }
|
||||
}
|
||||
if (!fnd) primes.Add(z);
|
||||
}
|
||||
primes.Add(v); Console.Write("{0,11:n0}", v);
|
||||
if (c % 10 == 0) Console.WriteLine();
|
||||
if (c == cutOff)
|
||||
{
|
||||
showEach = false;
|
||||
Console.Write("\nProgress to the {0:n0}th{1}: ", bigUn, tn);
|
||||
}
|
||||
}
|
||||
if (c % little == 0) { Console.Write("."); if (c == bigUn) break; }
|
||||
}
|
||||
}
|
||||
Console.WriteLine("\nThe {1:n0}th{2} is {0,17:n0}", v, c, tn);
|
||||
Console.WriteLine("Computation time was {0} seconds", (DateTime.Now - st).TotalSeconds);
|
||||
if (System.Diagnostics.Debugger.IsAttached) Console.ReadKey();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue