Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. public class Palindrom {
  2. //создаём метод для подсчёта количества цифр в числе number
  3. public static int getCount(long number) {
  4. int count = (number == 0) ? 1 : 0;
  5. while (number != 0) {
  6. count++;
  7. number /= 10;
  8. }
  9. return count;
  10. }
  11. //создаём метод для возведения числа a в степень b
  12. public static long getMultiplication(int a, int b){
  13. long x = 1;
  14. for(int i=1;i<=b;i++){
  15. x*=a;
  16. }
  17. return x;
  18. }
  19. public static void main(String[] args) {
  20. //запишем в переменные максимальное и минимальное значения
  21. int a = 99999;
  22. int c = 10000;
  23. long x=0;
  24. label1: for(int i=a;i>=c;i--){
  25. //т.к. данные числа должны быть простыми
  26. if(i%2==0||i%3==0||i%5==0||i%7==0){
  27. continue;
  28. }
  29. for(int j=a;j>=i;j--){
  30. if(j%2==0||j%3==0||j%5==0||j%7==0){
  31. continue;
  32. }
  33. x=j*i;
  34. int p = getCount(x);
  35. if(p%2!=0){
  36. continue;
  37. }
  38. for(int n=10,count=0;count<p/2;n*=10,count++){
  39. //т.к. циклы мы начинали с максимальных значений, то при совпадении условий можем выходить из внешнего цикла
  40. if((x%n)/getMultiplication(10, count)==(x/getMultiplication(10, p-1-count))%10&&count==p/2-1){
  41. System.out.println(x+" "+j+" "+i);
  42. break label1;
  43. }
  44. if((x%n)/getMultiplication(10, count)==(x/getMultiplication(10, p-1-count))%10){
  45. continue;
  46.  
  47. }else{
  48. break;
  49. }
  50.  
  51. }
  52.  
  53. }
  54. }
  55.  
  56. }
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement