diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-06-04 03:13:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-04 03:13:53 +0100 |
| commit | 97e06c11aaf7463f2e3fe85b341adfb4efa4f11f (patch) | |
| tree | 42b308b6a7c81b56f6b9268507db5dcb408758df /challenge-167/michael-dicicco/java/challenge167/circularprime.java | |
| parent | 7bcf2d3292c4a1bfc064ddbb7c6806248e243ef4 (diff) | |
| parent | 155586bc6de8a84b67ef1136d252265891d07bae (diff) | |
| download | perlweeklychallenge-club-97e06c11aaf7463f2e3fe85b341adfb4efa4f11f.tar.gz perlweeklychallenge-club-97e06c11aaf7463f2e3fe85b341adfb4efa4f11f.tar.bz2 perlweeklychallenge-club-97e06c11aaf7463f2e3fe85b341adfb4efa4f11f.zip | |
Merge pull request #6196 from mikedici/challenge-167
challenge-167 entry
Diffstat (limited to 'challenge-167/michael-dicicco/java/challenge167/circularprime.java')
| -rw-r--r-- | challenge-167/michael-dicicco/java/challenge167/circularprime.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/challenge-167/michael-dicicco/java/challenge167/circularprime.java b/challenge-167/michael-dicicco/java/challenge167/circularprime.java new file mode 100644 index 0000000000..a7038ffba1 --- /dev/null +++ b/challenge-167/michael-dicicco/java/challenge167/circularprime.java @@ -0,0 +1,46 @@ +package challenge167; + +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * + * @author mddicicco + */ +public class circularprime { + public static Set<String> used_numbers = new LinkedHashSet<>(); + public static boolean isPrime(int someNumber){ + if (someNumber <= 1){ + return false; + } + for(int i = 2; i < (someNumber - 1); i++){ + if (someNumber % i == 0){ + return false; + } + } + return true; + } + + public static String rotate(String someNumber){ + // rotate to the left one character + return someNumber.substring(1,someNumber.length()) + someNumber.substring(0,1); + } + + public static boolean validate(String someNumber){ + // check if the original string is prime + if (!isPrime(Integer.parseInt(someNumber))){ + return false; + } + + String temp = someNumber; + // check if any rotations of the string are not prime + for(int i = 0; i < someNumber.length() - 1; i++){ + temp = rotate(temp); + if (!isPrime(Integer.parseInt(temp))){ + return false; + } + used_numbers.add(temp); + } + return true; + } +} |
