枚举每一位,然后来个排列组合即可。
乘法逆元:(a/b)%mod=a*(b^(mod-2)) mod为素数。
//92 ms 7808 KB
#include<stdio.h>
#define mod 1000000007
#define ll long long
ll f[1000007]={1,1};
ll a,b;
bool check(ll x)
{
while(x)
{
ll z=x%10;
if(z!=a&&z!=b)return false;
x/=10;
}
return true;
}
ll quick_mod(ll x,ll y)
{
ll ans=1;
x%=mod;
while(y)
{
if(y&1)ans=(ans*x)%mod,y--;
y>>=1;
x=x*x%mod;
}
return ans;
}
int main()
{
int n;
for(int i=2;i<=1000007;i++)f[i]=f[i-1]*i%mod;
while(scanf("%lld%lld%d",&a,&b,&n)!=EOF)
{
ll ans=0;
for(int i=0;i<=n;i++)
{
ll sum=i*a+(n-i)*b;
if(check(sum))
{
ll c=f[n-i]*f[i];
ans=(ans+f[n]*quick_mod(c,mod-2))%mod;
}
}
printf("%lld\n",ans);
}
return 0;
}