ACM取余
ACM取余公式
嚶嚶怪給的
文章目錄
- quickmod
- gcd+lcm+qmod+檢驗
quickmod
#include <iostream> #include<bits/stdc++.h> using namespace std; #define maxn 10000 int quickmod(int a,int b,int c) {int ret=1;while(b){if(b&1){ret=ret*a%c;}a=a*a%c;b/=2;}return ret;}int main(int argc, char *argv[]) {int a,b,c;cin>>a>>b>>c;cout<<quickmod(a,b,c);return 0; } ///3 3 2 ///1gcd+lcm+qmod+檢驗
typedef long long ll; ll mod; ll qpow(ll a, ll n)//計算a^n % mod {ll re = 1;while(n){if(n & 1)//判斷n的最后一位是否為1,如果是1那就之乘一次,并把之前的搞進來(最后一次一定是1)re = (re * a) % mod;n >>= 1;//舍去n的最后一位a = (a * a) % mod;//將a平方}return re % mod; } #include <iostream> #include<bits/stdc++.h> using namespace std; #define maxn 10000 int gcd(int m, int n) {int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n; } int lcm(int a,int b){return a*b/gcd(a,b);///2021.4.17這里是除!! } int qmode(int a,int b,int c) {int res=1;while(b!=0){if(b&1){res=res*a%c;}a=a*a%c;b/=2;}return res; } int cifang(int m,int p) {int res=1;for(int i=0;i<p;i++){res*=m;}return res; } int main(int argc, char *argv[]) {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); // int a,b,c; // cin>>a>>b; // cout<<gcd(a,b); // cout<<" "<<lcm(a,b);int n;cin>>n;for(int i=1;i<n;i++){for(int j=1;j<i;j++){for(int m=1;m<j;m++){int qm=qmode(i,j,m);int mo=cifang(i,j)%m;if(i==j&&j==m){cout<<1;}if(qm!=mo){if(qm<0||mo<0){cout<<"don't care it";cout<<"qM:"<<qm<<"mo:"<<mo<<"wrong"<<"i"<<i<<"j"<<j<<"m"<<m;}else{cout<<endl;cout<<"qM:"<<qm<<"mo:"<<mo<<"wrong"<<"i"<<i<<"j"<<j<<"m"<<m<<endl;}}}}}return 0; } 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 2020.10.04蓝桥测试
- 下一篇: 5.2 使用pytorch搭建GoogL