[伯俊]1629乗算#ジョウサン#


質問する



に答える

  • が初めて通過するコードはpow関数(pow(a,b,c)を利用してa**b%cの結果値を返す)
  • である.
  • 第2の問題は分割征服によって解決される(ex.2^11=2^5 x 2^5+1,2^10=2^5 x 2^5)
  • コード#コード#

    a, b, c = map(int, input().split())
    
    def solution(a, b) :
        # 처음 통과
        # return pow(a, b, c)
        
        if b == 1 :
            return a % c
        else :    
            calc = solution(a, b // 2)
            if b % 2 == 0 :
                return (calc * calc % c)
            else :
                return ((calc * calc * a) % c)
        
    print(solution(a, b))