南京理工大學第八屆程式設計大賽(校外映象)C題

2021-07-11 06:25:04 字數 678 閱讀 3522

count_prime

time limit: 1000ms

memory limit: 65536kb

description

給定你乙個數n,請你統計出在[a,b]這個區間中和n互質的數的個數。

兩個數互質當且僅當他們除了1之外沒有其他的公共因子或者他們最大的公共因子是1。1和任何數是互素的。

input

第一行輸入乙個整數t(1 <= t <= 100),表示t組測試資料。

接下來t行,每行3個整數a,b,n(1 <= a <=b <=10^15, 1<= n <= 10^9),用空格隔開。

output

輸出乙個整數表示和n互質的數的個數。

sample input

21 10 2

3 10 5

sample output56

解題思路:這道題如果用暴力方法直接做的話,一定會超時,因此要用到容斥原理來解決。

ac**:

#include #include#include#includeusing namespace std;

#define ll long long

int prime[100];

int m;

ll co_p(ll p)

num=co_p(b)-co_p(a-1);

cout<

南京理工大學第八屆程式設計大賽

description input 第一行乙個t,表示t組測試資料。每組測試資料格式如下。第一行表示字串s,第二行表示字串t。1 t 100each character of s,t will be between a and z 1 length of string s 10001 length ...

南京理工大學第八屆程式設計大賽triple

題目大意 在一定範圍內找出三個最大公約數為m且各不相同的數,問有多少中情況。解題思路 剛開始的時侯用容斥寫,因為對於這個題而言質因子的分布在1到10的5次方,所以就有大概9千多個質數,而我寫的容斥是n 2的,所以就超時,所以這題不能用質因子去容斥,而直接用n的因子,時間複雜度更低。所以n 2的容斥對...

南京理工大學第八屆程式設計大賽 J water1

思路 水題 include define n 100000 define ll long long define u unsigned using namespace std int cas 1,t int n,h n 10 w n 10 ll ans int main int maxh 0 for...