Skip to content

Instantly share code, notes, and snippets.

@Alikberov
Created March 27, 2024 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Alikberov/f4abb6f9c2d91ed626ab2e3dff334945 to your computer and use it in GitHub Desktop.
Save Alikberov/f4abb6f9c2d91ed626ab2e3dff334945 to your computer and use it in GitHub Desktop.
Expert
<html>
<head>
<title>Expert</title>
<script>
function expert(a1, a2, a3, a4) {
let a5;
let b1, b2, b3;
let s1 = a2 - a1;
let s2 = a3 - a2;
if(a1 == a3 && a2 == a4) {
a5 = a1;
return a5;
} else
if(s1 == s2) {
a5 = a4 + s2;
return a5;
} else {
for(let i = 1; i <= 5; ++ i) {
b1 = a1 - i;
b2 = a2 - i;
if(a2 == b1 && a3 == b2) {
a5 = a4 ** i;
return a5;
}
}
for(let i = 1; i <= 10; ++ i) {
for(let n = 0; n <= 10; ++ n) {
b1 = a1 * i - n;
b2 = a2 * i - n;
if(b1 == a2 && b2 == a3) {
a5 = a4 * i - n;
return a5;
}
b1 = a1 * i + n;
b2 = a2 * i + n;
if(b1 == a2 && b2 == a3) {
a5 = a4 * i + n;
return a5;
}
b1 = Math.floor(a1 / i) - n;
b2 = Math.floor(a2 / i) - n;
if(b1 == a2 && b2 == a3) {
a5 = Math.floor(a4 / i) - n;
return a5;
}
b1 = Math.floor(a1 / i) + n;
b2 = Math.floor(a2 / i) + n;
if(b1 == a2 && b2 == a3) {
a5 = Math.floor(a4 / i) + n;
return a5;
}
}
}
for(let i = 1; i <= 5; ++ i) {
b1 = Math.floor(a1 ** (1 / i));
b2 = Math.floor(a2 ** (1 / i));
b3 = Math.floor(a3 ** (1 / i));
if(a4 == b3 && a3 == b2 && a2 == b1) {
a5 = Math.floor(a4 ** (1 / i));
return a5;
}
}
for(let i = 1; i <= 5; ++ i) {
for(let n = 0; n <= 10; ++ n) {
b1 = a1 ** i - n;
b2 = a2 ** i - n;
if(a3 == b2 && a2 == b1) {
a5 = a4 ** i - n;
return a5;
}
b1 = a1 ** i + n;
b2 = a2 ** i + n;
if(b2 == a3 && b1 == a2) {
a5 = a4 ** i + n;
return a5;
}
b1 = Math.floor(a1 ** (1 / i)) - n;
b2 = Math.floor(a2 ** (1 / i)) - n;
if(b2 == a3 && b1 == a2) {
a5 = Math.floor(a4 ** (1 / i) - n);
return a5;
}
b1 = Math.floor(a1 ** (1 / i)) + n;
b2 = Math.floor(a2 ** (1 / i)) + n;
if(b2 == a3 && b1 == a2) {
a5 = Math.floor(a4 ** (1 / i) + n);
return a5;
}
}
}
}
}
</script>
</head>
<body>
<a href='http://www.radioman-portal.ru/magazin/radiolubitel/1991/8.php'>Эксперт (C) А.Бычковский / Радиолюбитель'91/8.12</a><hr />
<input type=text onchange='document.querySelector("#Result").textContent = expert(...this.value.split(/[\s,;]+/))' placeholder='Enter four numbers' />
<br />
<pre id=Result></pre>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment