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
}





Comments NOTHING