P4942 小凱的數字

樱岛麻衣的鹿發表於2024-05-06

題目:P4942 小凱的數字

小凱的數字

題目背景

NOIP2018 原創模擬題T1

NOIP DAY1 T1 or DAY 2 T1 難度

是否發現與NOIP2017 DAY1 T1 有異曲同工之妙

題目描述

小凱有一天突發奇想,寫下了一串數字:$\overline{l(l+1)(l+2)...(r-1)r}$

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

$l=8,r=12$時數字為:$89101112$

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

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

輸入格式

輸入格式:

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

第 $2$ 到 $Q+1$ 行,每行兩個數字 $l,r$ 表示數字範圍

輸出格式

輸出格式:

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

樣例 #1

樣例輸入 #1

2
2 5
8 12

樣例輸出 #1

5
5

樣例 #2

樣例輸入 #2

3
1 999
123 456
13579 24680

樣例輸出 #2

0
6
0

提示

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

30% 資料滿足:$Q\leq10;l,r\leq100$

50% 資料滿足:$Q\leq100;l,r\leq10000$

70% 資料滿足:$Q\leq1000;l,r\leq10^6$

100%資料滿足:$Q\leq10000;0<l,r\leq10^{12}$ 且 $l\leq r$

原題連結

思路:
大佬的題解很好
https://www.luogu.com.cn/article/xt6ixoe9

方法一:

點選檢視程式碼
#include <bits/stdc++.h>
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define ll long long
#define el '\n'
using namespace std;
const int N = 1e5 + 5;
string str;
int n, m;
void solve()
{
	cin >> n;
	while (n--) {
		ll l, r;
		cin >> l >> r;
		r %= 9;
		l %= 9;
		if (r < l) r += 9;
		m = 0;
		for (int i = l; i <= r; i++) {
			m += i;
		}
		cout << m % 9 << el;
	}
}

int main()
{
	ios;
	solve();
	return 0;
}

相關文章