Facebook
From Eryk Bartosik, 4 Years ago, written in C#.
Embed
Download Paste or View Raw
Hits: 254
  1. using System;
  2. using System.Numerics;
  3. using System.Diagnostics;
  4.  
  5. namespace ProjektAlgorytmy2
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             BigInteger[] tablica = new BigInteger[] { 100913, 1009139, 10091401, 100914061, 1009140611,  10091406133, 100914061337, 1009140613399 }; //tablica z wyrazami
  12.             Stopwatch Stoper = new Stopwatch();
  13.             for( int i = 0 ; i < tablica.Length ; i++ ) //pętla wykonująca funkcję IsPrime dla wszystkich wyrazów tablicy ,,tablica"
  14.             {
  15.                 long counter;
  16.                 Stoper.Start();
  17.                 IsPrime(tablica[i], out counter); //counter służy do zliczenia ilości operacji wykonanych w algorytmie
  18.                 Stoper.Stop();
  19.                 Console.WriteLine("Czas: "+Stoper.Elapsed);
  20.                 Console.WriteLine("Ilość operacji: "+counter);
  21.                 Stoper.Reset();
  22.             }
  23.         }
  24.  
  25.         static bool IsPrime(BigInteger Num , out long operacja) //przykładowa funkcja z PDF
  26.         {   operacja = 1;
  27.             if (Num < 2) return false;
  28.             else if (Num < 4) return true;
  29.             else if (Num % 2 == 0) return false;
  30.             else
  31.             {
  32.                 for (BigInteger u = 3; u < Num / 2; u += 2)
  33.                     {
  34.                         operacja++;
  35.                         if (Num % u == 0) return false;
  36.                     }
  37.             }
  38.             return true;
  39.         }
  40.     }
  41. }
  42.