20 lines
410 B
Swift
20 lines
410 B
Swift
func solv(_ a:Int, _ b: Int, _ c: Int) -> Int {
|
|
if b==1 {
|
|
return a%c
|
|
}
|
|
|
|
let temp:Int = solv(a,b/2,c)
|
|
let val:Int = (temp*temp)%c
|
|
|
|
if b%2==0 {
|
|
return val
|
|
}
|
|
else {
|
|
return (val*(a%c))%c
|
|
}
|
|
}
|
|
|
|
if let input = readLine(), let n = input.split(separator: " ").compactMap({Int($0)}) as? [Int], n.count==3 {
|
|
let result = solv(n[0],n[1],n[2])
|
|
print(result)
|
|
} |