牛客網 2019校招真題程式設計題 被3整除

2021-10-01 13:10:21 字數 748 閱讀 8870

小q得到乙個神奇的數列: 1, 12, 123,…12345678910,1234567891011…。

並且小q對於能否被3整除這個性質很感興趣。

小q現在希望你能幫他計算一下從數列的第l個到第r個(包含端點)有多少個數可以被3整除。

輸入包括兩個整數l和r(1 <= l <= r <= 1e9), 表示要求解的區間兩端。

輸出乙個整數, 表示區間內能被3整除的數字個數。

示例1

輸入複製

2 5輸出複製3

說明

12, 123, 1234, 12345…

其中12, 123, 12345能被3整除。

被三整除,那麼各位的和一定是能夠被三整除的,因為此題的第i位數是由1-i個數組成的,所以自然想到了等差數列求和公式,但是還是要挨個計算,於是就試著寫下了每個數的和,發現每三個數為乙個週期,和的餘數為 1,0,0,我們可以利用這個性質找出第1到n一共有多少個三個一組的,然後*2就是這些組中能被三整除的總數,再單獨處理餘下的不足為3組的一組,如果n%3==2,那麼需要再加1,這樣就求出了1-n一共有多少數被n整除,然後我們分別求出1到l-1和1-r中被3整除的總數numl,numr,用numr-numl即可得出答案。

#include

using

namespace std;

int l,r;

intmain()

牛客網刷題 2019校招真題 1 迷路的牛牛

題目描述 牛牛去犇犇老師家補課,出門的時候面向北方,但是現在他迷路了。雖然他手裡有一張地圖,但是他需要知道自己面向哪個方向,請你幫幫他。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙個正整數,表示轉方向的次數n n 1000 接下來的一行包含乙個長度為n的字串,由l和r組成,l表示向...

牛客網2017校招真題 分田地

題目描述 解題思路 if content count 4 表明當前x是16塊田地中最小的,返回true return false int main int ans 0 int left 0,right sums n m sum n m 表示所有價值總和 while left right 二分答案,判...

牛客網2017校招真題 分蘋果

題目描述 思路 如果蘋果總數不能整除人數,證明無論怎麼分,總會有人多出一些 蘋果。如果能整除,那麼每個人的最終的蘋果數目一定是平均數,不然不可能相等。所以 只需要把低於平均數那一部分補上,把高於平均數那一部分減掉就可以了。當然如果,補 上的那一部分不能整除2,證明這個人是不能通過2個蘋果的轉移來達到...