NYOJ HEIHEI是個笨蛋(容斥原理)

2021-09-11 09:03:55 字數 738 閱讀 4438

題目描述

heihei已經很長時間沒有學習了,所以heihei現在變得非常非常的笨,現在有乙個很簡單的題:算出1~n中既不能被5和6,也不能被8整除的數有多少個。很簡單吧?但是heihei卻不會做,現在你來幫他寫個程式吧。

輸入輸入有t(1<=t<=1000)組測試資料.

每組測試資料佔一行,每行輸入乙個數n(1<=n<=10^12).

輸出每組測試資料佔一行。

樣例輸入

2

1100

樣例輸出

1

61

分析:我們可以先篩出能被5.6.8整除的數,但其中有些數能夠被5和6、5和8、6和8整除的數,這個時候我們可以先分別找出能夠被5和6最小公倍數整除的數、5和8最小公倍數整除的數、6和8最小公倍數整除的數,之後將這些重複的數減去即可。但注意在減去前還要考慮一下能夠被5和6和8整除的數,把之前多減的數補上去即可。

補充:利用容斥原理求解。三個元素的容斥原理:如果被計數的事物有a、b、c三類,

a類和b類和c類元素個數總和=a類元素個數+ b類元素個數+c類元素個數—既是a類又是b類的元素個數—既是a類又是c類的元素個數—既是b類又是c類的元素個數+既是a類又是b類而且是c類的元素個數.

公式:a∪b∪c = a+b+c - a∩b - b∩c - c∩a + a∩b∩c

#includelong long n,a,b,t;

int main()

}

容斥是個什麼東西我不會啊?

注 本文參考了這位大佬的部落格,詳情請移步 戳我 為什麼容斥係數亂七八糟但是最後算出來的答案卻是正確的的呢。以乙個常見的容斥係數為例子 sum nc n i 1 sum n c c i times 1 sum c times 1 sum c times 1 sum c times 1 c 0 sum...

我就乙個徹頭徹尾的笨蛋 心情日誌

我就乙個徹頭徹尾的笨蛋 心情日誌 我就乙個徹頭徹尾的笨蛋 心情日誌 一直以來,我認為我自己做的很好 我更加認為以前我讓你很開心 你會很難忘 結果突然發現,我就是個笨蛋 乙個徹頭徹尾的大笨蛋。每段感情我都會很用心的去經營 很用力的去呵護,哪怕發現了一點問題 或者某人犯下一點的過錯我都會去忍受 去原諒 ...

ES是如何實現節點容災的

es是如何實現節點容災的 1.es中的index,首先會進行分片,每乙個分片資料一般都會有自己的副本資料,es分配分片的策略會保證同乙個分片資料和自己的副本不會分配到同乙個節點上 2.當集群中的某一節點宕機後,es的master在ping該節點時通過一定的策略會發現該節點不存活 此時,es開啟恢復過...