網易2018實習生筆試題 被三整除

2021-08-17 22:44:14 字數 1014 閱讀 9778

時間限制:1秒

空間限制:32768k

問題描述:

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

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

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

輸入描述:

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

輸出乙個整數, 表示區間內能被3整除的數字個數。
輸入例子1:

2 5
輸出例子1:

3
例子說明1:

12, 123, 1234, 12345...

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

解題思路:

觀察發現從1,12,123,1234,12345,123456。。。。。。能被三整除的規律為:不能,能,能,不能,能,能。。。。。。,以三為週期迴圈,因而將輸入的l,r分別移動至乙個週期的第乙個位置,在移動過程中標記需要剔除新引入的能被三整除的數目count1,標記需要加上移動過程中刪除的能被三整除的數目count,再按公式(r-l)/3*2-count1+count,即可求得能被三整除的數目。

#includeint main()

if(l%3 == 2) 

l--;

}

while(r%3 != 1)

if(r%3 == 2)

}result = (r-l)/3*2 - count1 + count;

printf("%d\n",result);

}

2023年網易實習生筆試題集合之被3整除

問題描述 有乙個神奇的數列,計算這個數列有多少個數能被3整除。思考 這種問題蠻有意思的,因為它考驗的其實就是從不同的角度看問題的能力,但說實話在有限的時間內能get到這個點的除了智商高就是向你們這樣肯刷題的咯 反正當時我沒過t t 言歸正傳,任何乙個數對3求餘數不外乎3個數,0,1,2。顯然這道題是...

頭條2018實習生筆試

這個題的核心是用了乙個map,key是每一種喜好程度值k,然後把同乙個k的使用者id放在乙個vector裡。即map 每乙個查詢直接在要查詢的喜好程度k相應的使用者id陣列中找。include include include using namespace std int main 查詢 這個題我也...

網易2019實習生招聘筆試 被3整除

q得到乙個神奇的數列 1,12,123,12345678910,1234567891011.並且小q對於能否被3整除這個性質很感興趣。小q現在希望你能幫他計算一下從數列的第l個到第r個 包含端點 有多少個數可以被3整除。輸入描述 輸入包括兩個整數l和r 1 l r 1e9 表示要求解的區間兩端。輸出...