提交时间:2021-04-03 15:19:54

运行 ID: 6556

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e3+5,mod=9973,tot=3*7*11*47,t[6]={1,2,3,5,7}; int n,a[maxn][tot],tn=1,ans; int main(){ scanf("%lld",&n); a[1][1]=1;a[1][3]=1;a[1][7]=1; for(int i=2;i<=n;i++){ tn=(tn*10)%tot; for(int j=0;j<5;j++) for(int k=0;k<tot;k++) a[i][(k+tn*t[j]%tot)%tot]=(a[i][(k+tn*t[j]%tot)%tot]+a[i-1][k])%mod; } for(int i=1;i<tot;i++)if(i%3&&i%7&&i%11&&i%47)ans=(ans+a[n][i])%mod; printf("%lld\n",ans); return 0; }