Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. package ejercicios;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class Capicua {
  6.  
  7. public static void main(String[] args) {
  8. // TODO Auto-generated method stub
  9. Scanner sc= new Scanner(System.in);
  10. do {
  11. int P=sc.nextInt();
  12. int Q=sc.nextInt();
  13. if(P==0 && Q==0)
  14. break;
  15. System.out.println(numeroCapicuas(P,Q));
  16. }while(true);
  17. }
  18.  
  19.  
  20. public static Boolean esCapicua(String numero)
  21. {
  22. Boolean capicua=true;
  23.  
  24. int mitad=(int) Math.floor(numero.length()/2);
  25.  
  26. for(int i=0;i<=mitad && capicua;i++)
  27. {
  28. if(numero.charAt(i) != numero.charAt(numero.length()-1-i))
  29. capicua=false;
  30.  
  31. }
  32. return capicua;
  33. }
  34. public static int numeroCapicuas(int numero,int limite)
  35. {
  36. int capicuas=0;
  37. for(int favor=1;favor<=numero;favor++)
  38. {
  39. for(int contra= favor>=limite ? 0: limite-favor;contra<=numero-favor;contra++)
  40. {
  41. if(esCapicua(numToString(favor)+numToString(contra)))
  42. capicuas++;
  43. }
  44. }
  45. return capicuas;
  46. }
  47. public static int invertirNumero(int numero)
  48. {
  49. String num=String.valueOf(numero);
  50. String inverso="";
  51. for(int i=num.length()-1;i>=0;i--)
  52. {
  53. inverso+=num.charAt(i);
  54. }
  55. return Integer.parseInt(inverso);
  56. }
  57. public static String numToString(int numero)
  58. {
  59. String numString=String.valueOf(numero);
  60. String cadena="";
  61. for(int i=0;i<4-numString.length();i++)
  62. {
  63. cadena+="0";
  64. }
  65. cadena+=numString;
  66. return cadena;
  67. }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement