數學演算法 求乙個數的質因子

2021-08-02 09:23:36 字數 559 閱讀 1039

兩種方法,第一種是將所有的素數篩選出來,第二種直接迴圈就行了(第二種更加的高效)。

第一種方法其實就是先將素數篩選出來然後再計算,第二種是直接計算。

第一種的**

#includeusing namespace std;

const int max = 1e7+7;

bool prim[max];

vector ve;

//素數篩選

void pre_prim()}}

if(n!=1)

printf("%lld",n);

printf("\n");

}}

第二種方法的**:

#includeusing namespace std;

typedef long long ll;

int main()}}

if(n!=1)

printf("%lld",n);

printf("\n");

}return 0;

}

求乙個數的最小素因子外加快速分解質因子

這種方法使用與資料小於1e7,這種適用於分解1到n所有數的質因子,而且列印出來是從小到大排好序的 首先找到每個數的最小質因子,不停的除以最小素因子,只到x 1 如果是分解單個還是根號n複雜度的更好一點 include bits stdc h using namespace std typedef u...

找乙個數的因子個數,因子和

1.所有因子個數 如果乙個數是因數,就不斷除這個數,儲存這個因子次方的數 temp 運用所有因子個數計算公式 見上圖 儲存因子個數的 ans不斷乘 temp 1 注意 當最後,在 x 不斷除因數得到的值有兩種情況 x 1,這說明 x 沒有其他因子了。x 1,這時 x 為其乙個素數因子 且這個因子大於...

求乙個數的因子數及平方數判斷

對於乙個自然數n,都可以分解質因子得到如下形式 怎麼推出來的我也不知道。其中因子數包含自身和1 注意,若要使f n 為奇數,僅有一種可能,就是e1,e2.都為偶數時,總的因子數才為奇數,而若指數都為偶數,說明這個數必定是乙個完全平方數!判斷乙個數是否為平方數 根據數學的等差數列求和公式 由此可知 任...