UVA 10006(快速冪 暴力)

2021-08-25 02:33:34 字數 747 閱讀 4568

給你乙個數n,問你這個數是不是卡麥可數。如果乙個數是合數且滿足對於每乙個比它小的數a都有an

=a(模

n下) an=

a(模n

下)

;暴力判斷即可,但是要注意先判斷是否是質數,如果是質數一定不是卡麥可數,就不需要進行費馬檢驗了。否則親測超時。

#include 

#include

using

namespace

std;

typedef

long

long

int ll;

bool flag1 = false, flag2 = false;

int m;

inline ll pow_m(ll a, ll b, ll mod)

res = res % mod;

return res;

}int main()

}if (!flag2)

for (int i = 2; i <= n - 1; i++)

}if (!flag1&&flag2) cout

<< "the number "

<< n << " is a carmichael number."

<< endl;

else

cout

<< n << " is normal."

<< endl;

}}

UVA 10006(卡麥可數 素數打表)

發表於2017 2 20 21 43 25 16人閱讀 分類 其他oj 數論 組合數學 題意 判斷乙個數是否是卡麥可數。剛開始看到x n x mod n 老實說把我嚇了一跳,乙個數餘n怎麼會搞出乙個這麼大的數。想了半天一度懷疑人生,去翻題解,結果主流都是相當於求解x x n mod n 就以為是不是...

uva1386 矩陣快速冪

題意 乙個細胞自動機,有n個格仔,每個格仔的取值為0 m 1。給定距離d,每次操作後每個格仔的值將變為到它距離不超過d的所有格仔在操作之前的值之和除以m的餘數。思路 矩陣快速冪 include include define ll long long const int n 505 int n,m,d...

uva11551矩陣快速冪

題目看了半天沒看懂,就是把乙個數列更新r次,每次更新就是計算和,就是每乙個數,只要出現了的錶號都要加上去,具體看 矩陣快速冪實現加速 include include include include include include include include include include inc...