fork download
  1. using System;
  2. internal class Program
  3. {
  4. static bool IsPrime(int n)
  5. {
  6. if (n <= 3)
  7. {
  8. return true;
  9. }
  10. if (n % 2 == 0 || n % 3 == 0)
  11. {
  12. return false;
  13. }
  14. for (int i = 5; i * i <= n; i += 6)
  15. {
  16. if (n % i == 0 || n % (i + 2) == 0)
  17. {
  18. return false;
  19. }
  20. }
  21. return true;
  22. }
  23. static void PrintAllQPow2p1PrimeNumbers(int n)
  24. {
  25. for (int q = 1; q*q+1<=n; q++)
  26. {
  27. if (IsPrime(q*q+1))
  28. {
  29. Console.WriteLine(q*q+1);
  30. }
  31. }
  32. }
  33.  
  34. static void PrintAllFibonacciPrimeNumbers(int n)
  35. {
  36. int i = 1;
  37. int i_prv = 1;
  38. for(int i_crnt = 2;i_crnt<=n; i_crnt=i_prv+i)
  39. {
  40. i = i_prv;
  41. i_prv = i_crnt;
  42. if (IsPrime(i_crnt)) { Console.WriteLine(i_crnt); }
  43. }
  44. }
  45.  
  46. static void Main()
  47. {
  48. Console.Write("Введіть крайню межу для діапазону [2,n]:");
  49. int n = int.Parse(Console.ReadLine());
  50.  
  51. Console.WriteLine("Прості числа вигляду q^2 + 1:");
  52. PrintAllQPow2p1PrimeNumbers(n);
  53.  
  54. Console.WriteLine("Прості числа Фібоначчі:");
  55. PrintAllFibonacciPrimeNumbers(n);
  56. }
  57. }
Success #stdin #stdout 0.04s 28256KB
stdin
50
stdout
Введіть крайню межу для діапазону [2,n]:Прості числа вигляду q^2 + 1:
2
5
17
37
Прості числа Фібоначчі:
2
3
5
13