15 Jun 2024C++ / Python / TypeScriptEasy

Base 7

Collected C++, Python, TypeScript solutions for base 7. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Base 7. the solution files are available below.

solution files

  • C++ base-7/synced-solution.cpp
  • Python base-7/synced-solution.py
  • TypeScript base-7/synced-solution.ts

Solution files

Pythonbase-7/synced-solution.py
class Solution:
    def convertToBase7(self, num: int) -> str:
        if num == class="syntax-number">0:
            return class="syntax-string">"class="syntax-number">0"

        sign = class="syntax-string">"-" if num < class="syntax-number">0 else class="syntax-string">""
        num = abs(num)
        digits = []
        while num > class="syntax-number">0:
            digits.append(str(num % class="syntax-number">7))
            num class=class="syntax-string">"syntax-comment">//= class="syntax-number">7
        return sign + class="syntax-string">"".join(reversed(digits))
C++base-7/synced-solution.cpp
class Solution {
public:
    string convertToBase7(int num) {
        if (num == class="syntax-number">0) {
            return class="syntax-string">"class="syntax-number">0";
        }

        string sign = num < class="syntax-number">0 ? class="syntax-string">"-" : class="syntax-string">"";
        int value = abs(num);
        string digits;
        while (value > class="syntax-number">0) {
            digits.push_back(static_cast<char>(class="syntax-string">'class="syntax-number">0' + value % class="syntax-number">7));
            value /= class="syntax-number">7;
        }
        reverse(digits.begin(), digits.end());
        return sign + digits;
    }
};
TypeScriptbase-7/synced-solution.ts
function convertToBase7(num: number): string {
    if (num === class="syntax-number">0) {
        return class="syntax-string">"class="syntax-number">0";
    }

    const sign = num < class="syntax-number">0 ? class="syntax-string">"-" : class="syntax-string">"";
    let value = Math.abs(num);
    const digits: string[] = [];
    while (value > class="syntax-number">0) {
        digits.push(String(value % class="syntax-number">7));
        value = Math.floor(value / class="syntax-number">7);
    }
    digits.reverse();
    return sign + digits.join(class="syntax-string">"");
}