10進数->n進数
10進数->n進数(n = 2 ~ 35)の変換。ググッてもn進数というのはなかなかなかったので。STLは少しおおげさか。
const char *numset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWYZ"; void cardinal_encode(int num, int ocar) { if(num == 0) {cout << "0" << endl; return;} if(ocar > strlen(numset) || ocar < 2) return; vector<int> nl; while(num / ocar != 0) { nl.push_back(num % ocar); num /= ocar; } nl.push_back(num); reverse(nl.begin(), nl.end()); for(unsigned int i = 0; i < nl.size(); i++){ cout << numset[nl[i]]; } return; }