6 条题解

  • 1
    @ 2025-4-21 20:21:14
    
    cpp
    ```
    
    #include <bits/stdc++.h>
    using namespace std;
    #define LL long long
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    long long power( long long n , long long m , long long p )
    {
    	if ( n == 0 )
    	{
    		return 0;
    	}
    	long long ans = 1;
    	while ( m )
    	{
    		if ( m & 1 )
    		{
    			ans = ( ans * n ) % p;
    		}
    		m >>= 1;
    		n = ( n * n ) % p;
    	}
    	return ans % p;
    }
    int main()
    {
    	long long n , m , p;
    	cin >> n >> m >> p;
    	cout << power( n , m , p );
    	return 0;
    }
    //菜鸟驿站
    //老六专属
    ```
    • 0
      @ 2025-1-25 11:33:34
      ```
      #include<iostream>
      using namespace std;
      
      int main()
      {
          long long a, b, p, res = 1;
          scanf ("% ld % ld % ld", &a, &b, &p);
          while (b != 0)
         {
              if (b & 1)
              {
                  res = res * a % p;
              }
              a = a * a % p;
              b >>= 1;
          }
          printf ("% ld \ n", res % p);
          return 0;
      }
      ```
      
      • 0
        @ 2024-11-19 20:21:06
        #include<bits/stdc++.h>
        using namespace std;
        int main(){
            long long a,b,p,res=1;
            scanf("%ld%ld%ld",&a,&b,&p);
            while(b!=0){
                if(b&1){
                    res=res*a%p;
                }
                a=a*a%p;
                b>>=1;
            }
            printf("%ld\n",res%p);
            return 0;
        }
        
        • -1
          @ 2025-3-5 17:31:30

          快速幂模版

          #include<bits/stdc++.h>
          using namespace std;
          const int N=1e5+5,INF=0x3f3f3f3f;
          typedef long long LL;
          LL a,b,p; 
          LL power(){
          	LL ans=1;
          	while(b){
          		if(b&1)ans = ans*a%p;
          		b>>=1;
          		a = a*a%p;
          	}
          	return ans%p;
          }
          int main()
          {
          	cin>>a>>b>>p;
          	cout<<power();
          	return 0;
          }
          
          
        • -2
          @ 2024-10-17 21:24:34

          知识点:快速幂

          /*
          int      %o/%lo(八进制) %d/%i/%ld/%li(十进制) %x/%lx(十六进制)[如标名为o/lo/d/i/lo/li/x/lx即输出为八进制/十进制/十六进制]
          longlong %lld
          float    %f/%e
          double   %lf/%le
          char     %c
          char[]   %s
          'a'=97
          'z'=122
          'A'=65
          'Z'=90
          '0'=48
          '9'=57
          */
          #include <iostream>
          #include <iomanip>
          #include <cmath>
          #include <cstdio>
          #include <cstring>
          #include <algorithm>
          #include <ctime>
          #include <limits>
          #include <assert.h>
          #include <stdlib.h>
          using namespace std;
          #define LL long long
          #define ull unsigned long long
          const int N=1e5+10;
          const int INF=0x3f3f3f3f;
          const double pi=3.1416;
          LL a,b,p;
          long long power(long long a,long long b,long long p){
          	long long ans=1;
          	long long wp=a;
          	while(b){
          		if(b&1){
          			ans=ans*wp%p;
          		}
          		b>>=1;
          		wp=wp*wp%p;
          	}
          	return ans%p;
          }
          int main(){
          	cin>>a>>b>>p;
          	cout<<power(a,b,p)<<endl;
          return 0;
          }
          
        • -3
          @ 2023-4-23 20:48:48
          /*****************************************
          备注:数学nanhai 5 
          ******************************************/
          #include <queue>
          #include <math.h>
          #include <stack>
          #include <stdio.h>
          #include <iostream>
          #include <vector>
          #include <iomanip>
          #include <string.h>
          #include <algorithm>
          using namespace std;
          #define LL long long
          const int N = 1e5 + 10;
          const int INF = 0x3f3f3f3f;
          LL power(LL n , LL m , LL p)
          {
          	if(n == 0)
          		return 0;
          	LL ans = 1;
          	while(m)
          	{
          		if(m&1)
          			ans = (ans * n) %p;
          		m >>= 1;
          		n = (n*n)%p;
          	}
          	return ans%p;
          }
          int main()
          {
          	LL n , m , p;
          	cin >> n >> m >> p;
          	cout << power(n , m , p);
          	return 0;
          }
          
          • 1

          信息

          ID
          2
          时间
          1000ms
          内存
          128MiB
          难度
          8
          标签
          递交数
          3171
          已通过
          485
          上传者