Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function N(n,s){
- var A = function(){
- var arg=Array.prototype.slice.call(arguments), len=arg.length, a, b, c, d;
- if(len==1)return arg[0]+1;
- if(!arg[0])return A.apply(null, arg.slice(1));
- if(arg[len-1]&&arg[len-2])return a=arg.slice(),a[len-1]--,arg[len-2]--,arg[len-1]=n*A.apply(null,a),A.apply(null,arg);
- if(arg[len-1]){for(a=--len;a--;)if(arg[a])break;b=arg.slice();b[len]--;arg[a+1]=A.apply(null,b);arg[a]--;return A.apply(null,arg)}
- for(a=len;a--;)if(arg[a])break;arg[a]-=arg[a+1]=n;return A.apply(null,arg);
- }, x=typeof s=='number'?s:parseInt(s,n), args=s instanceof Array&&s;
- if(!args&&s!=1)for(args=[];x;x=x/n|0)args.unshift(x%n);
- return A.apply(null,args);
- }
- //N(1, [4,2])とかN(2, "1011011")とかN(16, "1fec23")とかN(3, 120)とかN(2, [1,0,2])とか...etc
- //N(基数n, [引数リスト...]) or N(基数n, "n進文字列") or N(基数n, 数x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement