Advertisement
angryatti

Prime Array Parallel Try

Aug 4th, 2024 (edited)
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.51 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.    
  22.             Console.WriteLine("Adjon meg egy nagyobb egész számot! - ENTER");
  23.             string? temp = Console.ReadLine();
  24.             bool success = int.TryParse(temp, out testPrime[0]);
  25.        
  26.  
  27.     }
  28.     catch (Exception)
  29.     {
  30.         Console.WriteLine("Váratlan hiba, indísd újra!");
  31.     }
  32. }
  33.  
  34. Console.WriteLine("Kezdéshez nyomjon egy billentyűt! - ENTER");
  35. Console.ReadLine();
  36.  
  37. Console.WriteLine(IsPrime(testPrime) ? "Prímszámok!" : "Egy vagy több szám nem prímszám!");
  38.  
  39. Console.WriteLine("Kilépéshez nyomjon egy billentyűt! - ENTER");
  40.  
  41. Console.ReadLine();
  42.  
  43. static bool IsPrime(int[] primeArray)
  44. {
  45.  
  46.     bool setPrime = true;
  47.     Parallel.ForEach(primeArray, (number, state, index) =>
  48.     {
  49.         int upperlimit = (int)Math.Sqrt(number);
  50.         for (int i = 2; i <= upperlimit; i++)
  51.         {
  52.             if (primeArray[index] % i == 0)
  53.             {
  54.                 primeArray[index] = 0;
  55.                 setPrime = false;
  56.                 break;
  57.  
  58.  
  59.             }
  60.         }
  61.     });
  62.  
  63.     return setPrime;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement