input: integer 'number' >= 0 returns the smallest prime number factor of 'number'
(number)
| 219 | |
| 220 | |
| 221 | def smallestPrimeFactor(number): |
| 222 | """ |
| 223 | input: integer 'number' >= 0 |
| 224 | returns the smallest prime number factor of 'number' |
| 225 | """ |
| 226 | |
| 227 | # precondition |
| 228 | assert isinstance(number, int) and (number >= 0), ( |
| 229 | "'number' bust been an int and >= 0" |
| 230 | ) |
| 231 | |
| 232 | ans = 0 |
| 233 | |
| 234 | # prime factorization of 'number' |
| 235 | primeFactors = primeFactorization(number) |
| 236 | |
| 237 | ans = min(primeFactors) |
| 238 | |
| 239 | # precondition |
| 240 | assert isinstance(ans, int), "'ans' must been from type int" |
| 241 | |
| 242 | return ans |
| 243 | |
| 244 | |
| 245 | # ---------------------- |
nothing calls this directly
no test coverage detected