Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.math.BigInteger;
- import java.lang.Math;
- class HelloWorldApp
- {
- public static void main(String[] arg)
- {
- long t_start = System.currentTimeMillis();
- long loops = 0;
- String str = "100";
- String str_2 = "0";
- String dummy = "100";
- Double log = 0.0;
- BigInteger ibm = new BigInteger(str);
- BigInteger hundred = new BigInteger("100");
- BigInteger ibm_2 = new BigInteger(str);
- BigInteger divide = new BigInteger("2011");
- BigInteger mod = new BigInteger("201100");
- do
- {
- if(flipable(str)!=0 && !(dummy.equals(str)==true))
- {
- dummy = zero_out(str);
- str = zero_out(str);
- ibm = new BigInteger(str);
- ibm = ibm.divide(divide);
- ibm = ibm.multiply(divide);
- ibm = ibm.add(hundred);
- dummy=ibm.toString();
- str=ibm.toString();
- }
- else
- {
- ibm = ibm.add(divide);
- str = ibm.toString();
- }
- loops+=1;
- ibm_2 = ibm.multiply(ibm);
- str_2 = ibm_2.toString();
- if ((loops%100000)==0)
- {
- System.out.println(ibm);
- }
- }
- while (flipable(str)!=0 || flipable(str_2)!=0 || !str.equals(flip(str)) || ibm.mod(divide)==hundred);
- Long t_end = System.currentTimeMillis();
- Long t_total = (t_end-t_start);
- double seconds = t_total.doubleValue();
- seconds = seconds/1000;
- System.out.println("The final answer is: " + ibm + " Which took : " + seconds + " seconds to calculate.");
- System.out.println("Which is " + seconds/60 + " minutes.");
- System.out.println("The square of the final answer is: " + str_2);
- System.out.println("The mod of the number is: " + ibm.mod(divide));
- //System.out.println(flip(str));
- }
- public static String zero_out(String n)
- {
- int i = 1;
- int length = n.length();
- char array[] = n.toCharArray();
- if(n.contains("3"))
- {
- i=n.indexOf("3")+1;
- while(i<=length-1)
- {
- array[i]='0';
- i++;
- }
- array[n.indexOf("3")]='5';
- }
- if(n.contains("4"))
- {
- i=n.indexOf("4")+1;
- while(i<=length-1)
- {
- array[i]='0';
- i++;
- }
- array[n.indexOf("4")]='5';
- }
- if(n.contains("7"))
- {
- i=n.indexOf("7")+1;
- while(i<=length-1)
- {
- array[i]='0';
- i++;
- }
- array[n.indexOf("7")]='8';
- }
- String str = new String(array);
- return str;
- }
- public static int flipable(String n)
- {
- if(n.contains("3"))
- {
- return 1;
- }
- else if(n.contains("4"))
- {
- return 1;
- }
- else if(n.contains("7"))
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- public static String flip(String n)
- {
- char array[]=n.toCharArray();
- char holdr[]=n.toCharArray();
- String str = n;
- int length = n.length();
- if(flipable(n)==0)
- {
- for(int i=0;i<length;i++)
- {
- array[i]=holdr[length-1-i];
- }
- String hold = new String(array);
- if(hold.contains("6"))
- {
- array[hold.indexOf("6")]='9';
- }
- if(hold.contains("9"))
- {
- array[hold.indexOf("9")]='6';
- }
- String Final = new String(array);
- return Final;
- }
- else
- {
- return "000";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement