把問題轉化求1~n之間共有多少對互質的數。真的,以後做題應該先動動腦子再開始寫,不要就直接開始無腦做。多想想問題可不可以轉化或者化簡,再想解決辦法,然後好好分析演算法時間空間複雜度,最後才開始寫。
尤拉函式,再求一下和就ok了。
前面做過一道很像的題,我是說打表的思路很像尤拉函式+求和的思路。
**
#includeusing namespace std;
int phi[50010];
int sum[50010];
void init()
for(int i=1;i<=50000;i++)
sum[i]=sum[i-1]+phi[i];
}int main()
return 0;
}
尤拉函式及其快速打表
下面的大部分都是借鑑這位大佬的,加了點自己的理解。我就比較懶,直接貼 了。講解都在注釋中 尤拉函式的作用 用於求小於n的與n互質數的個數 尤拉函式的公式 n n 1 1 p1 1 1 p2 1 1 p3 1 1 p4 1 1 pn 其中p1,p2 pn為n的所有質因數,n是不為0的整數。1 1 唯一...
求尤拉函式值 打表O n
在數論,對正整數n,尤拉函式是1 n的數中與n互質的數的數目,我們記為 n n n 後面尤拉定理中會用到 此函式以其首名研究者尤拉命名。例如 8 4 8 4 8 4 因為1,3,5,7均和8互質。n n n 求解公式 現假設n nn有r rr個質因子p1 p2 p3 pr,則 尤拉函式的兩個性質 來...
尤拉函式 cojs 2181 打表
輸入檔案 sendtable.in輸出檔案 sendtable.out簡單對比 時間限制 1 s 記憶體限制 256 mb 有一道比賽題目,輸入兩個整數x,y 1 x,y n 輸出某個函式f x,y 有位選手想打表 即事先計算出所有的f x,y 寫在源 裡 但是錶太大了,原 超過了比賽的限制,需要精...