вступление
Обратное и сложное так просто, как кажется, возьмите n
и добавьте его к своим цифрам в обратном порядке. (например, 234 + 432 = 666).
Если вы применяете этот процесс несколько раз, некоторые числа в конечном итоге попадут в простое число, а некоторые никогда не достигнут простого.
пример
У меня сейчас
11431 респ.
11431 is not prime
11431 + 13411 = 24842 which is not prime
24842 + 24842 = 49684 which is not prime
49684 + 48694 = 98378 which is not prime
98378 + 87389 = 185767 which is prime!
Это число попадает в простое число
Напротив, любое кратное 3 никогда не попадет в простое число, потому что все кратные 3 имеют цифру, кратную 3, и наоборот. Таким образом, обратное и сложение, кратное 3, всегда будет приводить к новому кратному 3 и, следовательно, никогда не будет простым.
задача
Возьмите положительное целое число n
и определите, приведет ли многократное обращение и добавление к простому числу. Выведите истинное или ложное значение. Либо истинное значение for достигает простого значения, либо ложное значение для not, либо оба варианта приемлемы.
Считается, что простые числа достигают простого числа за ноль итераций.
Это код-гольф, поэтому постарайтесь сделать свой код максимально коротким.
Тестовые случаи
Истинный для достигает простого ложь для никогда не достигает простого
11 -> True
11431 -> True
13201 -> True
13360 -> True
13450 -> True
1019410 -> True
1019510 -> True
22 -> False
1431 -> False
15621 -> False
14641 -> False
намек
Во время написания этого задания я обнаружил интересный трюк, который значительно облегчает эту проблему. Без этого трюка нет ничего невозможного, и с этим тоже нетривиально, но это помогает. Мне было очень весело обнаружить это, поэтому я оставлю это в спойлере ниже.
Повторное обратное и добавление всегда будет кратно 11 в 6 итерациях или меньше. Если он не достигнет простого числа, прежде чем он достигнет числа, кратного 11, он никогда не достигнет простого.