Member 12895794 Ответов: 1

Как мне закодировать эту проблему?


Палиндромное число читается одинаково в обоих направлениях. Самый большой палиндром, полученный из произведения двух 2-значных чисел, равен 9009 = 91 × 99. Напишите функцию, которая вызывается таким образом:
&ГТ;&ГТ; п = palin_product(копать,Лим);
Функция возвращает наибольший палиндром меньше lim, который является произведением двухзначных чисел. Если такого числа не существует, функция возвращает 0.

Что я уже пробовал:

Математика вовлечена -
если 3 введено как dig, то 999*999 мы можем получить lim.Палиндром можно узнать, преобразовав число в строку, а затем проверить, равна ли строка ее обратному значению. Я застрял на том, как проверить, что число является произведением 2 чисел.

1 Ответов

Рейтинг:
0

Member 12895794

Я знаю, как разложить число на множители. Я не знаю, как проверить код.

OriginalGriff

Если вы знаете, как факторизовать на бумаге, то вы можете применить тот же алгоритм в коде.
Дайте ему попробовать! Это, вероятно, намного проще, чем вы думаете.

Member 12895794

остальная часть моего мышления верна?

OriginalGriff

:смеяться:
Откуда мне знать? Я не могу читать твои мысли, и ты не рассказал нам остальную часть своих мыслей!
Струнная техника для палиндромов имеет то преимущество, что она проста в использовании, хотя и не особенно эффективна. Хорошо для одноразовых случаев, но большая утечка ресурсов, если вы хотите проверить много цифр. Вы могли бы сделать это с помощью модуля и деления, чтобы обратить число вспять. После обращения, если два целых числа совпадают, это палиндром.

Member 12895794

Спасибо тебе за помощь, парень! :)

OriginalGriff

Пожалуйста!