Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Palindrom {
- //создаём метод для подсчёта количества цифр в числе number
- public static int getCount(long number) {
- int count = (number == 0) ? 1 : 0;
- while (number != 0) {
- count++;
- number /= 10;
- }
- return count;
- }
- //создаём метод для возведения числа a в степень b
- public static long getMultiplication(int a, int b){
- long x = 1;
- for(int i=1;i<=b;i++){
- x*=a;
- }
- return x;
- }
- public static void main(String[] args) {
- //запишем в переменные максимальное и минимальное значения
- int a = 99999;
- int c = 10000;
- long x=0;
- label1: for(int i=a;i>=c;i--){
- //т.к. данные числа должны быть простыми
- if(i%2==0||i%3==0||i%5==0||i%7==0){
- continue;
- }
- for(int j=a;j>=i;j--){
- if(j%2==0||j%3==0||j%5==0||j%7==0){
- continue;
- }
- x=j*i;
- int p = getCount(x);
- if(p%2!=0){
- continue;
- }
- for(int n=10,count=0;count<p/2;n*=10,count++){
- //т.к. циклы мы начинали с максимальных значений, то при совпадении условий можем выходить из внешнего цикла
- if((x%n)/getMultiplication(10, count)==(x/getMultiplication(10, p-1-count))%10&&count==p/2-1){
- System.out.println(x+" "+j+" "+i);
- break label1;
- }
- if((x%n)/getMultiplication(10, count)==(x/getMultiplication(10, p-1-count))%10){
- continue;
- }else{
- break;
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement