尤拉函式的一些見解

2021-10-25 18:00:16 字數 3251 閱讀 7392

尤拉函式求互質的個數

當時在res = res - res / i 出沒有想明白, 其實是挺簡單的, 就是乙個公式, &(n) = n * (1 - 1 / p1) * (1 - 1 / p2) * … (1 - 1 / pr);

每次是res等於n,那麼只更新res, 那麼為什麼不用n呢, 因為n有更大的用處, 那就是判斷終點, 那什麼是重點呢 ? 其實就是咱們要用的素數大於n的時候, 就應該停止了, 但是每次n的值是要更新的, 要更新到不能被本次的值乘以某個數得到, 意思是, 咱們的素數只用一次, 而且要把這個素數的k次冪全部用掉, 其實就是再以後不再用它了;

#include

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

inteuler

(int n)}}

return res;

}int

main

(void

)

以下**是 的博主的:

請思考以下問題:

任意給定正整數n,請問在小於等於n的正整數之中,有多少個與n構成互質關係?(比如,在1到8之中,有多少個數與8構成互質關係?)

計算這個值的方法就叫做尤拉函式,以φ(n)表示。在1到8之中,與8形成互質關係的是1、3、5、7,所以 φ(n) = 4。

φ(n) 的計算方法並不複雜,但是為了得到最後那個公式,需要一步步討論。

第一種情況

如果n=1,則 φ(1) = 1 。因為1與任何數(包括自身)都構成互質關係。

第二種情況

如果n是質數,則 φ(n)=n-1 。因為質數與小於它的每乙個數,都構成互質關係。比如5與1、2、3、4都構成互質關係。

第三種情況

如果n是質數的某乙個次方,即 n = p^k (p為質數,k為大於等於1的整數),則

比如 φ(8) = φ(2^3) =2^3 - 2^2 = 8 -4 = 4。

這是因為只有當乙個數不包含質數p,才可能與n互質。而包含質數p的數一共有p^(k-1)個,即1×p、2×p、3×p、...、p^(k-1)×p,把它們去除,剩下的就是與n互質的數。

上面的式子還可以寫成下面的形式:

可以看出,上面的第二種情況是 k=1 時的特例。

第四種情況

如果n可以分解成兩個互質的整數之積,

n = p1 × p2

φ(n) = φ(p1p2) = φ(p1)φ(p2)

即積的尤拉函式等於各個因子的尤拉函式之積。比如,φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24。

這一條的證明要用到"中國剩餘定理",這裡就不展開了,只簡單說一下思路:如果a與p1互質(a第五種情況

因為任意乙個大於1的正整數,都可以寫成一系列質數的積。

根據第4條的結論,得到

再根據第3條的結論,得到

也就等於

這就是尤拉函式的通用計算公式。比如,1323的尤拉函式,計算過程如下:

請思考以下問題:

任意給定正整數n,請問在小於等於n的正整數之中,有多少個與n構成互質關係?(比如,在1到8之中,有多少個數與8構成互質關係?)

計算這個值的方法就叫做尤拉函式,以φ(n)表示。在1到8之中,與8形成互質關係的是1、3、5、7,所以 φ(n) = 4。

φ(n) 的計算方法並不複雜,但是為了得到最後那個公式,需要一步步討論。

第一種情況

如果n=1,則 φ(1) = 1 。因為1與任何數(包括自身)都構成互質關係。

第二種情況

如果n是質數,則 φ(n)=n-1 。因為質數與小於它的每乙個數,都構成互質關係。比如5與1、2、3、4都構成互質關係。

第三種情況

如果n是質數的某乙個次方,即 n = p^k (p為質數,k為大於等於1的整數),則

比如 φ(8) = φ(2^3) =2^3 - 2^2 = 8 -4 = 4。

這是因為只有當乙個數不包含質數p,才可能與n互質。而包含質數p的數一共有p^(k-1)個,即1×p、2×p、3×p、...、p^(k-1)×p,把它們去除,剩下的就是與n互質的數。

上面的式子還可以寫成下面的形式:

可以看出,上面的第二種情況是 k=1 時的特例。

第四種情況

如果n可以分解成兩個互質的整數之積,

n = p1 × p2

φ(n) = φ(p1p2) = φ(p1)φ(p2)

即積的尤拉函式等於各個因子的尤拉函式之積。比如,φ(56)=φ(8×7)=φ(8)×φ(7)=4×6=24。

這一條的證明要用到"中國剩餘定理",這裡就不展開了,只簡單說一下思路:如果a與p1互質(a第五種情況

因為任意乙個大於1的正整數,都可以寫成一系列質數的積。

根據第4條的結論,得到

再根據第3條的結論,得到

也就等於

這就是尤拉函式的通用計算公式。比如,1323的尤拉函式,計算過程如下:

CSRF XSS Cookies 的一些見解

csrf 攻擊 在瀏覽器中插入了 惡意鏈結 並在使用者訪問之時讓使用者訪問,達到使用使用者的cooikes達到連線指定伺服器客戶的的驗證資訊,並進行一些簡單的操作。比如 防禦 最簡單的,可以通過驗證cookies進行一些防禦。例如在使用者操作驗證中,判斷是否又cookies傳過來,如果沒有則是惡意鏈...

指標的一些見解

在c c 最牛皮也是最令人頭疼的就是指標了,記得那時是乙個炎熱的下午,老師吐出了那兩個讓我畢生難忘的字 指標 然後太熱了睡著了 還記得當時,老師就提醒我們指標是c強大的重要部分,但同時如果處理不好,問題也很大。但其實吧,學習指標的壓力也不是那麼大的。自行補圖 typename pointname 如...

自用 關於尤拉函式以及逆元的一些模板

首先我們要求 x 可以先將其分解成 apii 的形式,其中 a 是素數。然後可以推導出公式 x apii api 1i 然後這個可以實現為 x x ai 1 這樣就可以在 時間內出解了。線性篩!因為尤拉函式是積性函式,所以我們可以採用線性篩。過程見下方 getphi 函式。首先有尤拉公式 x p p...