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