社区讨论
萌新求助
P4999烦人的数学作业参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mi7yzyt8
- 此快照首次捕获于
- 2025/11/21 05:55 4 个月前
- 此快照最后确认于
- 2025/11/21 05:55 4 个月前
CPP
#include <cstdio>
#include<iostream>
using namespace std;
unsigned long long n,ans[15]={0,1,3,6,10,15,21,28,36,45},mod=1e9+7,m,r;
int getn (int n)
{
if (n<0)
return 0;
return n;
}
long long get(long long n)
{
long long ars=0,a=1,b=0;
while (n>0)
{
ars=ars+a*(45*(n/10)+ans[getn(n%10-1)%mod])+((n%10)*(b+1)+mod)%mod;
b=b+(n%10)*a%mod;a*=10%mod;
n/=10;
}
return ars%mod;
}
int main()
{
scanf("%lld",&m);
for (int i=1;i<=m;i++)
{
scanf("%lld%lld",&n,&r);
printf("%lld\n",(3*mod+(mod+((((get(r)-get(n-1)+mod)%mod+mod)%mod+mod)%mod+mod)%mod)%mod)%mod);
}
}
同学帮忙问的,第18和20个点过不去
谢谢dalao
回复
共 1 条回复,欢迎继续交流。
正在加载回复...