Kviz2
This commit is contained in:
parent
a460c4de28
commit
68e43abf11
244
src/Kviz2.java
Normal file
244
src/Kviz2.java
Normal 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user