洛谷U32670 小凱的數字 比賽

2022-09-06 09:30:16 字數 1684 閱讀 8220

noip2018 原創模擬題t1

noip day1 t1 or day 2 t1 難度

是否發現與noip2017 day1 t1 有異曲同工之妙

小凱有一天突發奇想,寫下了一串數字:l(l+1)(l+2)...(r-1)rl(l+1)(l+2)...(r−1)r

例如:l=2,r=5時,數字為:23452345

l=8,r=12時數字為:8910111289101112

小凱很喜歡數字9,所以他想問你他寫下的數字除以9的餘數是多少

例如:l=2,r=5時,2345 mod 9 = 5

輸入格式:

第一行為數字q,表示小凱有q個問題

第2-q+1行,每行兩個數字 l,r 表示數字範圍

輸出格式:

對於每行的問題輸出一行,乙個數字,表示小凱問題的回答

輸入樣例#1:

2

2 58 12

輸出樣例#1:

5

5

輸入樣例#2:

3

1 999

123 456

13579 24680

輸出樣例#2:

0

60

樣例1解釋:2345 mod 9 = 5   89101112 mod 9 = 5

30% 資料滿足:q<=10;l,r<=100

50% 資料滿足:q<=100;l,r<=10000

70% 資料滿足:q<=1000;l,r<=10^6

100%資料滿足:q<=10000;l,0且 l<=r

根據本題的資料範圍,不難發現一定是一道數論題。這一題的難度和noip提高組day1的第一題水平差不多,所以應該不是很難;

解決本題,首先要知道:

定理1、能被9整除的數各位數字之和能被9整除;

定理2、如果有9*n(n為自然數)個連續的數字(如題意,比如123456789),那麼該數一定能被9整除

第一點很好理解,其實第二點也同樣如此,根據高斯求和公式,(首項+末項)*項數/2,

有計算經驗的同學一定知道,(首項+末項)和項數中一定有乙個是2的倍數,所以不存在帶餘除法,

那麼因為項數是9的倍數,所以上述公式(首項+末項)*項數/2,一定是9的倍數,所以定理2成立。

那麼,根據這兩個定理,本題**就很好寫了。

1.讀入問題數量q,迴圈q次,每次讀入l和r;

2.計算出數字個數(即r-l+1的值),並對9取餘,即定義乙個變數cnt=(r-l+1)%9;

3.從r開始,往前依次列舉cnt次(因為cnt對9取過模,所以最多迴圈9次)

將列舉出的數字對9取餘,加入sum中;

4.輸出sum對9取餘即可

5.本題還有乙個細節:要用long long

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7

#define ll long long89

using

namespace

std;

1011

intq;

12ll l,r;

1314

void

work()

1526

return;27

}2829int

main()

30

出處:

洛谷P4942 小凱的數字

題目描述 題目要求從l到r組成的數取模9後的數,其實就是從l到r每次數字模9的和,證明 例如 2345 9 2000 9 300 9 40 9 5 9 9 而2000 9 21000 9 2 91000 9 2 9 任何整十模9都等於1 知道這個規律以後,卻發現列舉一遍會超時,所以可以用等差數列求和...

洛谷 P4942 小凱的數字(數論,逆元)

因為可以大整數分解為l 10k l 1 10k 1 l 2 10k 3 r 100,而10k 9 1,所以原整數在模9意義下等於l l 1 l 2 l 3 r l r r l 1 2。因為有除法,所以我們算出2在 9意義下的逆元為5,即可解決問題。逆元不會求咋辦?當場退役。不!洛谷大佬告訴我們 當要...

洛谷比賽 U5442 買 最長鏈

u5442 買 題目提供者bqsgwys 標籤樹形結構 樹的遍歷 洛谷原創 題目背景 小e是個可愛的電路編碼員。題目描述 一天小e又要準備做電路了,他準備了乙個電路板,上面有很多個電路元器件要安裝,於是他跑到了村口某電子城去買。小e詳細檢視了某電子城的地圖,發現自己要去地下一層,共有n個攤鋪,任意兩...