Skip to content

Commit

Permalink
Create aliennumbers
Browse files Browse the repository at this point in the history
  • Loading branch information
EntityPlantt committed Aug 12, 2022
1 parent 1228dd0 commit 60e5cae
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
23 changes: 23 additions & 0 deletions aliennumbers.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// GitHub: EntityPlantt/Kattis
#include <iostream>
using namespace std;
int main() {
int t;
cin >> t;
string nStr, sys1, sys2;
size_t n = 0;
for (int i = 1; i <= t; i++) {
cin >> nStr >> sys1 >> sys2;
while (!nStr.empty()) {
n *= sys1.size();
n += sys1.find(nStr[0]);
nStr = nStr.substr(1);
}
do {
nStr = sys2[n % sys2.size()] + nStr;
n /= sys2.size();
} while (n);
cout << "Case #" << i << ": " << nStr << '\n';
}
return 0;
}
27 changes: 27 additions & 0 deletions aliennumbers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// GitHub: EntityPlantt/Kattis
var t = null, i = 1;
require("readline").createInterface({
input: process.stdin,
output: process.stdout
}).on("line", input => {
if (t == null) {
t = parseInt(input);
}
else {
var [nStr, sys1, sys2] = input.split(" "), n = 0;
while (nStr.length > 0) {
n *= sys1.length;
n += sys1.indexOf(nStr[0]);
nStr = nStr.substr(1);
}
do {
nStr = sys2[n % sys2.length] + nStr;
n = Math.floor(n / sys2.length);
} while (n > 0);
console.log("Case #" + i + ": " + nStr);
i++;
if (t < i) {
process.exit();
}
}
});

0 comments on commit 60e5cae

Please sign in to comment.