P9651 题解
题目思路
不难发现,只要
那我们在什么情况下输出
可以证明,在
顾名思义,"整十数"就是每隔
所以在
代码
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
long long f(int n){
string s=to_string(n);
long long sum=1;
for(int i=0;i<s.size();i++)sum*=s[i]-'0';
return sum;
}//计算 f(n)
int main(){
int t;
cin>>t;
while(t--){
int l,r;cin>>l>>r;
if(r-l+1>=10)puts("0");//区间中出现整十数
else{
long long sum=1;
for(int i=l;i<=r;i++){
sum=(sum*f(i))%mod;//答案
}
cout<<sum<<endl;
}
}
}