Палиндром, оптимизировать код - C#

Узнай цену своей работы

Формулировка задачи:

Задание выглядело так: Напишите программу, которая возвращает наибольшее число палиндром, которое является произведением двух простых пятизначных чисел, а также возвращает сами сомножители.

Каким образом оптимизировать код и ответ, который не является перемножением чисел?

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Prosto
  9. {
  10. public bool isPrime(int x)
  11. {
  12. for (int i = 2; i < x / 2 + 1; i++)
  13. {
  14. if ((x % i) == 0) return false;
  15. }
  16. return true;
  17. }
  18. }
  19. class Program
  20. {
  21. static int ObtratnoeChislo(int n)
  22. {
  23. int obr = 0;
  24. while (n > 0)
  25. {
  26. obr = 10 * obr + n % 10;
  27. n /= 10;
  28. }
  29. return obr;
  30. }
  31. static void Main(string[] args)
  32. {
  33. int otv = 0;
  34. Prosto pr = new Prosto();
  35. for (int i = 99000; i < 100000; i++)
  36. {
  37. for (int j = 99000; j < 100000; j++)
  38. {
  39. if (pr.isPrime(i) && pr.isPrime(j))
  40. {
  41. otv = i * j;
  42. if (otv == ObtratnoeChislo(otv))
  43. {
  44. Console.WriteLine(i + " " + j);
  45. break;
  46. }
  47. else otv = 0;
  48. }
  49. }
  50. if (otv != 0) break;
  51. }
  52. Console.WriteLine(otv);
  53. Console.ReadKey();
  54. }
  55. }
  56. }
Поменял тип на ulong, чтобы результат не выходил за пределы. Но вот с производительностью, каким образом можно повысить результат вычисления максимального палиндрома?

Решение задачи: «Палиндром, оптимизировать код»

textual
Листинг программы
  1. var primes = FillSieve(99999).Where(n => n > 9999).Select(n => (ulong)n);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут