Advertisement
Guest User

Untitled

a guest
Jul 17th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Concurrent;
  3. using System.Collections.Generic;
  4. using System.Diagnostics;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. using System.Linq;
  8.  
  9. namespace calc
  10. {
  11. class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. Console.WriteLine("Calculando primos...");
  16.  
  17. // long start = 10000000;
  18. // long end = 50000000;
  19.  
  20. long start = 10000;
  21. long end = 150000;
  22.  
  23. var timer = Stopwatch.StartNew();
  24.  
  25. var primos = new ConcurrentBag<long>();
  26.  
  27. while(true)
  28. {
  29. Parallel.For(start, end, i => {
  30. var times = 0;
  31. for(var j = i; j >= 1; j--)
  32. {
  33. var mod = i % j;
  34. if(mod == 0)
  35. {
  36. times++;
  37. }
  38. }
  39.  
  40. if(times == 2)
  41. {
  42. primos.Add(i);
  43. }
  44. });
  45.  
  46. timer.Stop();
  47. System.Console.WriteLine("{1} - Total de primos: {0} em {2} entre {3} e {4}.", primos.Count, DateTime.Now, timer.Elapsed, start, end);
  48. primos = new ConcurrentBag<long>();
  49. timer.Restart();
  50. }
  51.  
  52. // Parallel.For(start, end, i => {
  53. // var times = 0;
  54. // for(var j = i; j >= 1; j--)
  55. // {
  56. // var mod = i % j;
  57. // if(mod == 0)
  58. // {
  59. // times++;
  60. // }
  61. // }
  62.  
  63. // if(times == 2)
  64. // {
  65. // // System.Console.WriteLine(i);
  66. // primos.Add(i);
  67. // }
  68.  
  69. // if (timer.Elapsed.TotalMinutes >= 1)
  70. // {
  71. // timer.Stop();
  72. // var s = primos.ToList();
  73. // foreach(var primo in s.OrderBy(x => x))
  74. // {
  75. // System.Console.WriteLine(primo);
  76. // }
  77. // System.Console.WriteLine("Total de primos: {0} - {1}", primos.Count, DateTime.Now);
  78. // primos = new ConcurrentBag<long>();
  79. // timer.Restart();
  80. // }
  81. // });
  82.  
  83. // for (var i = start; i < end; i++)
  84. // {
  85. // var times = 0;
  86. // for(var j = i; j >= 1; j--)
  87. // {
  88. // var mod = i % j;
  89. // if(mod == 0)
  90. // {
  91. // times++;
  92. // }
  93. // }
  94.  
  95. // if(times == 2)
  96. // {
  97. // // System.Console.WriteLine(i);
  98. // primos.Add(i);
  99. // }
  100.  
  101. // if (timer.Elapsed.TotalMinutes >= 1)
  102. // {
  103. // timer.Stop();
  104. // foreach(var primo in primos)
  105. // {
  106. // System.Console.WriteLine(primo);
  107. // }
  108. // System.Console.WriteLine("Total de primos: {0}", primos.Count);
  109. // primos.Clear();
  110. // timer.Restart();
  111. // }
  112. // }
  113.  
  114. }
  115. }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement