Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.93 KB | None | 0 0
  1. import java.math.BigInteger;
  2. import java.lang.Math;
  3.  
  4. class HelloWorldApp
  5. {
  6.     public static void main(String[] arg)
  7.     {
  8.     long t_start = System.currentTimeMillis();
  9.     long loops = 0;
  10.     String str = "100";
  11.     String str_2 = "0";
  12.     String dummy = "100";
  13.     Double log = 0.0;
  14.     BigInteger ibm = new BigInteger(str);
  15.     BigInteger hundred = new BigInteger("100");
  16.     BigInteger ibm_2 = new BigInteger(str);
  17.     BigInteger divide = new BigInteger("2011");
  18.     BigInteger mod = new BigInteger("201100");
  19.     do
  20.         {
  21.         if(flipable(str)!=0 && !(dummy.equals(str)==true))
  22.             {
  23.             dummy = zero_out(str);
  24.             str = zero_out(str);
  25.             ibm = new BigInteger(str);
  26.             ibm = ibm.divide(divide);
  27.             ibm = ibm.multiply(divide);
  28.             ibm = ibm.add(hundred);
  29.             dummy=ibm.toString();
  30.             str=ibm.toString();
  31.             }
  32.         else
  33.             {
  34.             ibm = ibm.add(divide);
  35.             str = ibm.toString();
  36.             }
  37.         loops+=1;
  38.         ibm_2 = ibm.multiply(ibm);
  39.         str_2 = ibm_2.toString();
  40.         if ((loops%100000)==0)
  41.             {
  42.             System.out.println(ibm);
  43.             }
  44.  
  45.         }
  46.     while (flipable(str)!=0 || flipable(str_2)!=0 || !str.equals(flip(str)) || ibm.mod(divide)==hundred);
  47.     Long t_end = System.currentTimeMillis();
  48.     Long t_total = (t_end-t_start);
  49.     double seconds  = t_total.doubleValue();
  50.     seconds = seconds/1000;
  51.     System.out.println("The final answer is: " + ibm + " Which took : " + seconds + " seconds to calculate.");
  52.     System.out.println("Which is " + seconds/60 + " minutes.");
  53.     System.out.println("The square of the final answer is: " + str_2);
  54.     System.out.println("The mod of the number is: " + ibm.mod(divide));
  55.     //System.out.println(flip(str));
  56.     }
  57.  
  58.     public static String zero_out(String n)
  59.     {
  60.     int i = 1;
  61.     int length = n.length();
  62.     char array[] = n.toCharArray();
  63.  
  64.     if(n.contains("3"))
  65.         {
  66.         i=n.indexOf("3")+1;
  67.         while(i<=length-1)
  68.             {
  69.             array[i]='0';
  70.             i++;
  71.             }
  72.         array[n.indexOf("3")]='5';
  73.         }
  74.  
  75.     if(n.contains("4"))
  76.         {
  77.         i=n.indexOf("4")+1;
  78.         while(i<=length-1)
  79.             {
  80.             array[i]='0';
  81.             i++;
  82.             }
  83.         array[n.indexOf("4")]='5';
  84.         }
  85.  
  86.     if(n.contains("7"))
  87.         {  
  88.         i=n.indexOf("7")+1;
  89.         while(i<=length-1)
  90.             {
  91.             array[i]='0';
  92.             i++;
  93.             }
  94.         array[n.indexOf("7")]='8';
  95.         }
  96.     String str = new String(array);
  97.     return str;
  98.     }
  99.    
  100.     public static int flipable(String n)
  101.     {
  102.     if(n.contains("3"))
  103.         {
  104.         return 1;
  105.         }
  106.     else if(n.contains("4"))
  107.         {
  108.         return 1;
  109.         }
  110.     else if(n.contains("7"))
  111.         {
  112.         return 1;
  113.         }
  114.     else
  115.         {
  116.         return 0;
  117.         }
  118.     }
  119.    
  120.     public static String flip(String n)
  121.     {
  122.     char array[]=n.toCharArray();
  123.     char holdr[]=n.toCharArray();
  124.     String str = n;
  125.     int length = n.length();
  126.     if(flipable(n)==0)
  127.         {
  128.         for(int i=0;i<length;i++)
  129.             {
  130.             array[i]=holdr[length-1-i];
  131.             }
  132.         String hold = new String(array);
  133.         if(hold.contains("6"))
  134.             {  
  135.             array[hold.indexOf("6")]='9';
  136.             }
  137.         if(hold.contains("9"))
  138.             {
  139.             array[hold.indexOf("9")]='6';
  140.             }
  141.         String Final = new String(array);
  142.         return Final;
  143.         }
  144.     else
  145.         {
  146.         return "000";
  147.         }
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement