Posts Tagged ‘wyrażenie regularne’
Wyrażenie regularne sprawdzające, czy liczba jest pierwsza
Wyrażenie regularne, które potrafi sprawdzić, czy dana liczba jest pierwsza.
^1?$|^(11+?)\1+$
import static java.lang.System.*; public class Prime { public static final String PRIME_REGEX = "^1?$|^(11+?)\\1+$"; public static boolean isPrime(int i) { String s = ""; while (i > 0) { i--; s += "1"; } return !Pattern.matches(PRIME_REGEX, s); // escape the \1 } public static void main(String[] args) { final int i = Integer.parseInt(args[0]); final boolean isPrime = isPrime(i); out.println(i + " is" + (isPrime ? "" : " not") + " a prime number"); } }
<barista@javaczyherbata.pl> java Prime 9 9 is not a prime number
Jak to działa?
Read the rest of this entry »