快速幂算法取模c++

img


快速幂算法取模尝试了很多遍,不知道哪里出错了请指正,剩下的可以凑字数吗

#include<iostream>

using namespace std;

int main()
{
    long long a , b , p ;
    
    long long ans = 1;
    
    cin >> a >> b >> p;
    
    while(b)
    {
        if(b & 1)
        
            ans = (ans * a) % p;
            
        b >>= 1;
        
        a = a * a;
    }
    
    printf("%lld",ans);
}

你的ans怎么每循环一次就重置一次呢?