給定 \(n\) 個正整數 \(a_i\),請你求出每個數的尤拉函式。
尤拉函式的定義
\(1∼n\) 中與 \(n\) 互質的數的個數被稱為尤拉函式,記為 \(ϕ(n)\)。第一行包含整數 \(n\)。若在算數基本定理中,\(n=p^_1p^_2…p^_m\),則:
\(ϕ(n) = n×\frac×\frac×…×\frac\)
接下來 \(n\) 行,每行包含乙個正整數 \(a_i\)。
輸出共 \(n\) 行,每行輸出乙個正整數 \(a_i\) 的尤拉函式。
資料範圍
\(1≤n≤100\),
\(1≤a_i≤2×10^9\)
輸入樣例:
336
8
輸出樣例:2
24
分解質因數求解尤拉函式時間複雜度:\(o(t\times \sqrt)\)
// problem: 尤拉函式
// contest: acwing
// url:
// memory limit: 64 mb
// time limit: 1000 ms
// %%%skyqwq
#include #define pb push_back
#define fi first
#define se second
#define mp make_pair
using namespace std;
typedef long long ll;
typedef pairpii;
template bool chkmax(t &x, t y)
template bool chkmin(t &x, t y)
template void inline read(t &x)
while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar();
x *= f;
}int n;
int phi(int n)
} if(n>1)res=res/n*(n-1);
return res;
}int main()
return 0;
}
尤拉函式 尤拉定理
尤拉函式 對正整數 n,尤拉函式 是小於等於 n的數中與 n互質的數的數目 此函式以其首名研究者尤拉命名 euler so totientfunction 它又稱為 euler stotient function 函式 尤拉商數等。例如 8 4,因為 1,3,5,7均和8 互質。注 n為1時尤拉函式...
尤拉函式 尤拉定理
尤拉函式 設 n 為正整數,則 1,2,n 中與 n 互素的整數的個數計作 n 叫做尤拉函式。設 p 是素數,p p 1設 p 是素數,pa pa p a 1 設 p,q 是不同的素數,n q p,n p q 即 n p 1 q 1 設 m,n 是兩個正整數,且 m,n 1,若 n m n,n m ...
尤拉函式尤拉篩
尤拉函式求小於等於n與n互質的數的個數 複習時發現這個知識點竟然沒有整理 n為素數即為n 1 除了其本身 n為素數的倍數 ola sushu j i ola i sushu j else ola sushu j i ola i sushu j 1 include include include in...