Digit Product-JavierWu

发布于 2020-10-09  9 次阅读


Digit Product

在这里插入图片描述
题意:本题题意就是给出T个数据,每个数据l和r,通过l和r之间区间的数,拆成各位数字相乘求出结果。
思路:本题一开始的想法是做模拟,但仔细想想就可知道,一旦l和r区间超过10,位数中便会出现一个数字0,导致整个长度乘积为0。所以,只需要特判一下l和r区间长度即可。完全模拟会导致TLE。

#include<bits/stdc++.h>
using namespace std
typedef long long ll
int main() {
	ll n
	cin>>n
	while(n--)
	{
		ll l,r
		ll cnt=1
		cin>>l>>r
		if(r-l>=10)
		cnt=0
		else{
		for(l<=rl++)
		{
			ll p=l
			while(p>1)
			{
				cnt=cnt*(p%10)
				cnt%=1000000007
				p/=10
			}
		}
	}
		cout<<cnt<<endl
	}
	return 0
}
届ける言葉を今は育ててる
最后更新于 2020-10-09