This commit is contained in:
Gašper Dobrovoljc 2024-04-08 23:19:14 +02:00
parent a460c4de28
commit 68e43abf11
No known key found for this signature in database
GPG Key ID: 0E7E037018CFA5A5

244
src/Kviz2.java Normal file
View File

@ -0,0 +1,244 @@
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;
}
}