How to find the largest prime factor of a number in Swift

1 Answer

0 votes
import Foundation

func largestPrimeFactor(_ n: Int) -> Int {
    var num = n
    var div = 2
    var maxPFact = -1

    while num != 0 {
        if num % div != 0 {
            div += 1
        } else {
            maxPFact = num
            num /= div // Integer division
            if num == 1 {
                break
            }
        }
    }
    
    return maxPFact
}

print(largestPrimeFactor(124))  // 2 x 2 x 31
print(largestPrimeFactor(288))  // 2 x 2 x 2 x 2 x 2 x 3 x 3
print(largestPrimeFactor(1288)) // 2 x 2 x 2 x 7 x 23
print(largestPrimeFactor(100000000)) // 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5




/*
run:

31
3
23
5

*/

 



answered Apr 16, 2025 by avibootz

Related questions

1 answer 78 views
1 answer 79 views
1 answer 110 views
1 answer 142 views
1 answer 102 views
1 answer 125 views
...