How to calculate power for large numbers in Swift

1 Answer

0 votes
import Foundation

func calculateLargeNumbersPower(base: Int, exponent: Int) -> [Int] {
    var digits = [1] // Least significant digit first

    for _ in 1...exponent {
        var carry = 0
        for i in 0..<digits.count {
            let num = digits[i] * base + carry
            digits[i] = num % 10
            carry = num / 10
        }

        while carry > 0 {
            digits.append(carry % 10)
            carry /= 10
        }
    }

    return digits
}

func digitsToStringReversed(_ digits: [Int]) -> String {
    return digits.reversed().map(String.init).joined()
}

let testCases = [15, 100]
for n in testCases {
    let digits = calculateLargeNumbersPower(base: 2, exponent: n)
    let resultString = digitsToStringReversed(digits)
    print("2^\(n) = \(resultString)")
}



/*
run:

2^15 = 32768
2^100 = 1267650600228229401496703205376

*/

 



answered Aug 2, 2025 by avibootz

Related questions

1 answer 76 views
1 answer 80 views
1 answer 90 views
1 answer 86 views
1 answer 94 views
...