public class Kviz2 { static int vsotaStevk(String str) { int sum = 0; for (char c : str.toCharArray()) { if (Character.isDigit(c)) { sum += Character.getNumericValue(c); } } return sum; } static boolean preveriRep(String a, String b) { return a.toLowerCase().endsWith(b.toLowerCase()) || b.toLowerCase().endsWith(a.toLowerCase()); } static int[] range(int a, int b, int c) { int[] range = new int[(b - a) / c]; for (int i = 0; i < range.length; i++) { range[i] = a + i * c; } return range; } static void rotiraj(int[] tabela, int k) { int n = (k / tabela.length) * tabela.length + tabela.length; int[] copy = new int[tabela.length]; for (int i = 0; i < tabela.length; i++) { copy[(n + i - k) % tabela.length] = tabela[i]; } System.arraycopy(copy, 0, tabela, 0, tabela.length); } static int[] duplikati(int[] tabela) { int[] copy = new int[tabela.length]; int n = 0; for (int i = 0; i < tabela.length; i++) { boolean found = false; for (int j = 0; j < n; j++) { if (copy[j] == tabela[i]) { found = true; break; } } if (!found) { copy[n++] = tabela[i]; } } int[] result = new int[n]; System.arraycopy(copy, 0, result, 0, n); return result; } static double koren(int x, int d) { double prev = 0d; double c = 0; for (int i = 0; i <= d; i++) { for (c = prev; ; c += 1 / Math.pow(10, i)) { if ((c + 1 / Math.pow(10, i)) * (c + 1 / Math.pow(10, i)) > x) { prev = c; break; } } } return c; } static String binarnoSestej(String s, String b) { int carry = 0; StringBuilder result = new StringBuilder(); for (int i = s.length() - 1, j = b.length() - 1; i >= 0 || j >= 0; i--, j--) { int sum = carry; if (i >= 0) { sum += s.charAt(i) - '0'; } if (j >= 0) { sum += b.charAt(j) - '0'; } result.append(sum % 2); carry = sum / 2; } if (carry != 0) { result.append(carry); } return result.reverse().toString(); } static int vsotaSkupnihCifer(int a, int b) { int[] digits = new int[10]; while (a > 0) { digits[a % 10]++; a /= 10; } int sum = 0; while (b > 0) { if (digits[b % 10] > 0) { sum += b % 10; digits[b % 10] = 0; } b /= 10; } return sum; } static boolean jePapajscina(String niz) { niz = niz.toLowerCase(); for (int i = 0; i < niz.length(); i++) { if (((niz.charAt(Math.max(0, i - 1)) != 'p' && niz.charAt(i) == 'a') || niz.charAt(i) == 'e' || niz.charAt(i) == 'i' || niz.charAt(i) == 'o' || niz.charAt(i) == 'u') && (niz.charAt(Math.min(niz.length() - 1, i + 1)) != 'p' || niz.charAt(Math.min(niz.length() - 1, i + 2)) != 'a')) return false; } return true; } static String prevod(String niz) { String out = ""; if (jePapajscina(niz)) { for (int i = 0; i < niz.length(); i++) { out += niz.charAt(i); if (niz.charAt(i) == 'a' || niz.charAt(i) == 'e' || niz.charAt(i) == 'i' || niz.charAt(i) == 'o') { i += 2; } } } else { for (int i = 0; i < niz.length(); i++) { out += niz.charAt(i); if (niz.charAt(i) == 'a' || niz.charAt(i) == 'e' || niz.charAt(i) == 'i' || niz.charAt(i) == 'o') { out += "pa"; } } } return out; } static String prepleti(String niz1, String niz2) { StringBuilder output = new StringBuilder(); for (int i = 0; i < Math.max(niz1.length(), niz2.length()); i++) { output.append(niz1.length() > i ? niz1.charAt(i) : " "); output.append(niz2.length() > i ? niz2.charAt(i) : " "); } return output.toString(); } static void odpleti(String niz) { StringBuilder niz1 = new StringBuilder(); StringBuilder niz2 = new StringBuilder(); for (int i = 0; i < niz.length(); i += 2) { niz1.append(niz.charAt(i)); niz2.append(i + 1 < niz.length() ? niz.charAt(i + 1) : ""); } System.out.println(niz1); System.out.println(niz2); } static String vMorse(String niz) { String[] abeceda = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." }; String[] stevilke = {"-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----." }; niz = niz.toUpperCase(); StringBuilder output = new StringBuilder(); for (int i = 0; i < niz.length(); i++) { switch (niz.charAt(i)) { case ' ': output.append(" "); break; case '.': output.append(".-.-.- "); break; case ',': output.append("--..-- "); break; case '!': output.append("-.-.-- "); break; case ':': output.append("---... "); break; case ';': output.append("-.-.-. "); break; case '?': output.append("..--.. "); break; default: if (Character.isDigit(niz.charAt(i))) { output.append(stevilke[niz.charAt(i) - '0']).append(" "); } else { output.append(abeceda[niz.charAt(i) - 'A']).append(" "); } } } return output.toString().trim(); } static int fibo(int n) { int[][] arr = new int[n][n]; int prev = 1; int curr = 1; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { arr[i][j] = prev; int tmp = curr; curr += prev; prev = tmp; } } int sum = 0; for (int i = 0; i < n; i++) { sum += arr[i][i] + arr[i][n - i - 1]; } return sum; } static int binomi(int n, int k) { if ((n == k) || (k == 0)) return 1; else return binomi(n - 1, k) + binomi(n - 1, k - 1); } int[] pascal(int n) { int[] vrstica = new int[n]; for (int r = 0; r < n; r++) { vrstica[r] = binomi(n - 1, r); } return vrstica; } }