質因子 容斥原理求與n互質的個數

2021-10-03 15:28:15 字數 951 閱讀 2369

//求乙個數的質因子,將質因子儲存在a,並返回質因子的個數

int init(ll n)

}if (n > 1)//這裡要記得

a[idx++] = n;

return idx - 1;

}

//求[1,m]內與n互質的個數,用佇列陣列實現容斥原理

ll fid(ll m)

for (ll i = 1; i < t; i++)

sum = sum + m / que[i];

return sum;

}

題目:

hdu 4135

**

ll a[1000], idx;

//求乙個數的質因子,將質因子儲存在a,並返回質因子的個數

int init(ll n)

}if (n > 1)//這裡要記得

a[idx++] = n;

return idx - 1;

}//求[1,m]內與n互質的個數,用佇列陣列實現容斥原理

ll fid(ll m)

for (ll i = 1; i < t; i++)

sum = sum + m / que[i];

return sum;

}int main()

}return 0;

}

一次求出1~n的所有數的質因子,適用於題目中給的n個數比較多的,但是n不是很大的。

int visited[100010];

vectora[100010];

void init() }}

}int main()

return 0;

}

容斥原理求1到n與k互質個數

參考部落格 傳送門 題目 hdu 4135 此處的k 1e9 include include include include includeusing namespace std typedef long long ll const int qq 10005 int num int prime qq...

求n個數 1 n 的質因子

求n個數 1 n 的質因子,我用到了素數篩選法的思想,例如找到素數2,2是2,4,6,8,10 的質因子,3是3,6,9,12 的質因子,然後找到素數5,若是求乙個數n的質因子,請參考 include includeint a 10001 20 b 10001 b i 表示第i個數的質因子個數,a ...

求n的質因子

質因子 或質因數 在數論裡是指能整除給定正整數的質數。根據算術基本定理,不考慮排列順序的情況下,每個正整數都能夠以唯一的方式表示成它的質因數的乘積。兩個沒有共同質因子的正整數稱為互質。因為1沒有質因子,1與任何正整數 包括1本身 都是互質。只有乙個質因子的正整數為質數,質數的質因子就是它本身。將乙個...