HDU1299 素數分解

2021-07-04 06:34:58 字數 520 閱讀 3412

#include#includeusing namespace std;

bool isprime[100000];

int prime[10000],tot = 0,temp,n;

long long ans;

int main()

int t;

scanf("%d",&t);

for(int kase=1;kase<=t;kase++)

}

題意:求方程1/x+1/y=1/n的解的個數 1/3+1/2 與1/2+1/3看作是一組解。

分析:1/x+1/y = 1/n 設y = n + k;

==>1/x + 1/(n+k)=1/n;

==>x = n^2/k + n;

因為x為整數,k就是n^2的約數。然後對其素因子分解就可以了。

對n^2分解,只需要對n分解就可以,這裡我先打出 sqrt(n) 以內的所有素數,因為對任意數n,它的素因子最多有乙個大於sqrt(n)。

HDU 1299 求因子個數

現在假設 y n k k為正整數 那麼帶入公式,可以得出 x n n k k n n k n 由於x 是正整數,現在的關鍵問題就是 要求出 n n k 有多少組正整數的可能,顯然,所要求的就是 n n 因子的個數 整數分解 任何乙個正整數都可以表示成素數的x次方之積,所以本題就被轉化成了求n 2的素...

1215 素數分解

素數分解 time limit 1000ms memory limit 65536k total submit 16 accepted 16 description 在這裡,我們要對乙個正整數進行分解,我們通常說的分解是指求乙個數的質因數,但是,我們發現有些數字可以分解成若干個質數的和,有趣的事,有...

HDU 2521 反素數(分解質因數)

其實跟反素數沒有什麼關係,就是讓你求區間裡的數的因數的個數最多的那個值,如果有多個符合,取最小。分解質因數,比如24可以分解為 23 31 所以24的所有因數的個數就是 3 1 1 1 8 仔細考慮一下,每個質因子的冪指數都可以選擇 0 x 反素數 定義 對於任何正整數x,其約數的個數記做g x 例...