a081: B. 胖胖數
標籤 : 2015國中組初賽
通過比率 : 0人/0人 (0%) [非即時]
評分方式:
Strictly

最近更新 : 2023-10-22 07:04

內容

2015 網際網路程式設計全國大賽 國中組初賽

哇,好多糖果唷!

胖胖⿂最近從瘦瘦蚯那邊獲得了不少糖果,⼤⽅的瘦瘦蚯希望胖胖⿂可以幫忙把糖果分送給

⼤家。

假設胖胖⿂⼿上有 n 顆糖果,他會把糖果分給盡量多⼈,使得每個⼈獲得的糖果數量都⼀樣,⽽且每個⼈⾄少有兩顆。畢竟如果只被分到⼀顆糖果的話,他們會覺得很孤單,糖果也會因此變得不好吃。

舉例⽽⾔,如果胖胖⿂⼿上有 n = 21 顆糖果的話,他會分給含⾃⼰共七個⼈,每個⼈有三顆糖果。但如果只有 n = 1顆糖果的話,胖胖⿂只好⾃⼰吃掉那顆變難吃的糖果。

聰明的瘦瘦蚯跟胖胖⿂⾺上就發現⼀個⼤問題:有些糖果數量會逼迫胖胖⿂⾃⼰吃掉全部的糖果!這真是太胖了,因此他們為這種數字取了個貼切的名字「胖數」。舉例來說,n =

1,2,5,13,37,43,97都是胖數,⽽ n = 4,6,14,42等整數則都不是胖數。

此時,剛吃完⼤薯的胖胖天路過此處,他覺得胖數太弱了,富有惡趣味的他決定將其中某些更胖的數命名為「胖胖數」。如果在由左⾄右寫下⼀個數的過程中⼀直都是胖數的話,我們就稱它為胖胖數。像 n = 5,37,137,2333 都是胖胖數。以 2333 為例,在從左⾄右的寫下的過程會有 2,23,233,2333這四個胖數,所以2333是個胖胖數。另外,n = 43是胖數,但不是胖胖數,因為4 不是個胖數。

好奇的他們決定問你:「有多少個介於 L,R 之間的整數(包含 L R 本⾝)是胖胖數呢?」例如,當 L = 1,R = 11的時候有1,2,3,5,7,11這六個胖胖數介於 L,R 之間。

為了避免你只是胡亂回答剛好猜中,你必須回答 T 個這種問題。

輸入說明

輸⼊的第⼀⾏有⼀個整數 T,代表有幾個問題。接下來 T ⾏,每⾏有兩個整數 L,R,代表⼀個問題。

  • 1 ≤ T ≤ 10000 • 1 ≤ L R ≤ 1018
輸出說明

對於每個問題 L,R,請輸出⼀個整數於⼀⾏,代表共有多少個胖胖數介於 L,R 之間(包含 L

R 本⾝)。

範例輸入
3
1 11
10 100
31415926535 31415926535
範例輸出
6
13
0
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (8%): 1.0s , <1M
公開 測資點#1 (8%): 1.0s , <1M
公開 測資點#2 (8%): 1.0s , <1M
公開 測資點#3 (8%): 1.0s , <1M
公開 測資點#4 (8%): 1.0s , <1M
公開 測資點#5 (8%): 1.0s , <1M
公開 測資點#6 (8%): 1.0s , <1M
公開 測資點#7 (8%): 1.0s , <1M
公開 測資點#8 (9%): 1.0s , <1M
公開 測資點#9 (9%): 1.0s , <1M
公開 測資點#10 (9%): 1.0s , <1M
公開 測資點#11 (9%): 1.0s , <1M
提示 :
標籤:
2015國中組初賽
出處:
NPSC [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」