Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package problems;
- public class Problem_038 {
- public static void main(String[] args) {
- for (int ni = 0; ni < 20; ni++) {
- long startTime = System.currentTimeMillis();
- long biggest = 0;
- String leString = "";
- for (int k = 1; k <= 9; k++) {
- for (int i = 1; i <= 9400; i++) {
- leString = concatMagic(i, k);
- if (leString.length() == 9) {
- if (isPandigital(leString)) {
- //int v = Integer.parseInt(leString);
- biggest = (biggest < Integer.parseInt(leString)) ? Integer
- .parseInt(leString) : biggest;
- }
- }
- leString = "";
- }
- }
- long endTime = System.currentTimeMillis() - startTime;
- System.out.println("Biggest: " + biggest);
- System.out.println("Total execution time: " + endTime + " ms.");
- }
- }
- public static String concatMagic(int input, int concat) {
- String myString = "";
- for (int i = 1; i <= concat; i++) {
- myString += (input * i);
- }
- return myString;
- }
- public static boolean isPandigital(String input) {
- String compareString = "123456789";
- int checker = 0;
- boolean booly = true;
- // Loop through number
- for (int i = 0; i < input.length(); i++) {
- // For each digit compare to all digits in compare string.
- for (int k = 0; k < input.length(); k++) {
- // Compare char at i in input string, to all indexes in the
- // compareString
- if (compareString.charAt(i) == input.charAt(k)) {
- checker++;
- }
- }
- if (checker != 1) {
- booly = false;
- } else {
- checker = 0;
- }
- }
- return booly;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement