Advertisement
angryatti

Prime Array Parallel Try

Aug 4th, 2024 (edited)
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.55 KB | None | 0 0
  1. using System.Diagnostics;
  2. using System.Dynamic;
  3. using System.Linq.Expressions;
  4. using System.Reflection.Metadata;
  5.  
  6. int[] testPrime = [77557187, 326851121];
  7.  
  8. Console.WriteLine("PrimeTest-prealpha");
  9.  
  10. Console.WriteLine($"A beégetett számok tesztelése - ENTER: {testPrime[0]},{testPrime[1]}, c vagy C) Saját értékek");
  11.  
  12. ConsoleKeyInfo keys;
  13.  
  14. keys = Console.ReadKey();
  15.  
  16.  
  17. if (keys.Key.ToString() == "c" || keys.Key.ToString() == "C")
  18. {
  19.     try
  20.     {
  21.         for (int i = 0; i <= 1; i++)
  22.         {
  23.             Console.WriteLine("Adjon meg egy nagyobb egész számot! - ENTER");
  24.             string? temp = Console.ReadLine();
  25.             bool success = int.TryParse(temp, out testPrime[i]);
  26.         }
  27.  
  28.     }
  29.     catch (Exception)
  30.     {
  31.         Console.WriteLine("Váratlan hiba, indísd újra!");
  32.     }
  33. }
  34.  
  35. Console.WriteLine("Kezdéshez nyomjon egy billentyűt! - ENTER");
  36. Console.ReadLine();
  37.  
  38. Console.WriteLine(IsPrime(testPrime) ? "Prímszámok!" : "Egy vagy több szám nem prímszám!");
  39.  
  40. Console.WriteLine("Kilépéshez nyomjon egy billentyűt! - ENTER");
  41.  
  42. Console.ReadLine();
  43.  
  44. static bool IsPrime(int[] primeArray)
  45. {
  46.  
  47.     bool setPrime = true;
  48.     Parallel.ForEach(primeArray, (number, state, index) =>
  49.     {
  50.         int upperlimit = (int)Math.Sqrt(number);
  51.         for (int i = 2; i <= upperlimit; i++)
  52.         {
  53.             if (primeArray[index] % i == 0)
  54.             {
  55.                 primeArray[index] = 0;
  56.                 setPrime = false;
  57.                 break;
  58.  
  59.  
  60.             }
  61.         }
  62.     });
  63.  
  64.     return setPrime;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement