Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ConvertDigit(d) {
- if (d < 10) {
- return String.fromCharCode(48 + d);
- }
- if (d < 10 + 26) {
- return String.fromCharCode(65 + d - 10);
- }
- if (d < 10 + 26 + 26) {
- return String.fromCharCode(97 + d - 10 - 26);
- }
- if (d < 72) {
- return String.fromCharCode(33 + d - 10 - 26 - 26);
- }
- }
- function ConvertChar(c) {
- if(c>=48&&c<=57){
- return c-48;
- }
- if(c>=65&&c<=90){
- return c-65+10;
- }
- if(c>=97&&c<=122){
- return c-97+10+26;
- }
- if(c>=33&&c<=43){
- return c-33+10+26+26;
- }
- }
- function Num2Str(d) {
- var magnitude;
- if (d ===0) {
- return "0";
- } else {
- magnitude = Math.ceil(Math.log(d + 1) / Math.log(72));
- }
- var value=d;
- const array=[];
- for(var ii=0; ii<magnitude;ii++){
- var ex=magnitude-ii-1;
- var val=Math.floor(value/Math.pow(72, ex));
- value-=val*Math.pow(72, ex);
- array[ii]=ConvertDigit(val);
- }
- return array.join("");
- }
- function Str2Num(str) {
- var l=str.length;
- var value=0;
- for(var ii=0; ii<l;ii++){
- var ex=l-ii-1;
- value+=ConvertChar(str.charCodeAt(ii))*Math.pow(72, ex);
- }
- return value;
- }
- for(var ii=0; ii<1e2; ii++){
- if(ii!=Str2Num(Num2Str(ii))){
- console.log(ii+" "+Num2Str(ii)+" "+Str2Num(Num2Str(ii)));
- }
- }
- console.log("Finished");
Add Comment
Please, Sign In to add comment