E - Beautiful Numbers

Description

Vitaly is a very weird man. He's got two favorite digits a and b. Vitaly calls a positive integer good, if the decimal representation of this integer only contains digits a and b. Vitaly calls a good number excellent, if the sum of its digits is a good number.

For example, let's say that Vitaly's favourite digits are 1 and 3, then number 12 isn't good and numbers 13 or 311 are. Also, number 111 is excellent and number 11 isn't.

Now Vitaly is wondering, how many excellent numbers of length exactly n are there. As this number can be rather large, he asks you to count the remainder after dividing it by 1000000007(109 + 7).

A number's length is the number of digits in its decimal representation without leading zeroes.

Input

The first line contains three integers: a, b, n(1 ≤ a < b ≤ 9, 1 ≤ n ≤ 106).

Output

Print a single integer — the answer to the problem modulo 1000000007(109 + 7).

Sample Input

Input
1 3 3
Output
1
Input
2 3 10
Output

165


题意:

somebody喜欢两个数字a和b,他把各个位上完全由这两个数字组成的数字叫做good number(也可以只有a或只有b组成),要是组成的数字的各位加起来的和也是good number,那么这个由a,b组成的good number就是excellent数,输入三个数a,b,n,分别代表喜欢的数a,b和要组成的数的位数,求最多有多少个符合题意的excellent数?


解法:乘法逆元+二分幂

<span style="font-size:18px;">#include<stdio.h>
long long int mod=1000000007;
long long int vis[1000010]={1};
long long int charge(long long int m,long long int n)//快速二分幂求值
{
    if(n==0)
        return 1;
    long long int t=1;
    while(n)
    {
        if(n%2==1)
            t=t*m%mod;
        m=m*m%mod;
        n/=2;
    }
    return t;
}
int main()
{
    long long int  a,b,n,i,j,sum,t1,t2,ans;
    while(scanf("%lld%lld%lld",&a,&b,&n)!=EOF)
    {
        ans=0;
        for(i=1;i<=n;i++)
            vis[i]=vis[i-1]*i%mod;//求1到n的阶乘
        for(i=0;i<=n;i++)
        {
            j=n-i;
            sum=a*i+b*j;
            while(sum)
            {
                long long int t=sum%10;
                if(t!=a&&t!=b)
                    break;
                sum=sum/10;
            }
            if(sum==0)//其实这里还包含了一个乘法逆元的求法
            {
                t1=charge(vis[i],mod-2);
                t2=charge(vis[n-i],mod-2);
                ans+=vis[n]*t1%mod*t2%mod;
            }
        }
        printf("%lld\n",ans%mod);
    }
    return 0;
}</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vue-admin-beautiful-plus 是一个基于 Vue.js 和 Element UI 的后台管理系统模板,它提供了丰富的组件和功能,可以快速搭建出美观、易用的后台管理系统。它支持多种主题和布局,可以根据不同的需求进行定制。此外,它还提供了丰富的文档和示例,方便开发者快速上手。 ### 回答2: vue-admin-beautiful-plus是一个开源的基于Vue.js的后台管理系统解决方案。它是在vue-admin-template和ant-design-vue的基础上进行二次开发而来的,并加入了一些额外的功能和特性。 vue-admin-beautiful-plus提供了一套易于使用、美观且功能强大的界面组件,使得开发者能够更加便捷地构建自己的后台管理系统。它包含了诸如菜单栏、面包屑导航、表格、表单、图表和各种常用的UI组件等等,同时也支持自定义主题样式。 除了基本的界面组件,vue-admin-beautiful-plus还提供了一些高级功能,例如路由权限管理、动态菜单生成、多语言支持等等。这些功能能够大大提高开发效率,同时也能够满足不同项目的需求。 值得一提的是,vue-admin-beautiful-plus还提供了一些内置的业务组件和模板,例如用户管理、角色管理、权限管理等等,这些组件和模板可以在快速开发过程中起到很好的辅助作用。 总之,vue-admin-beautiful-plus是一个功能丰富、易于使用且美观的后台管理系统解决方案,它能够帮助开发者快速构建高质量的后台管理系统。无论是个人项目还是企业项目,都可以考虑使用vue-admin-beautiful-plus来提升开发效率和用户体验。 ### 回答3: vue-admin-beautiful-plus 是一个基于 Vue.js 框架的管理后台模板。它是从 vue-admin-beautiful 项目中改良出来的,加入了更多的功能和样式选择。这个模板提供了许多常见的管理后台功能页面,例如仪表盘、表格、表单、图表等,可以帮助开发人员快速搭建一个美观且功能强大的管理后台系统。 vue-admin-beautiful-plus使用了 Element Plus UI 框架,它是 Element UI 的升级版本,提供了更丰富和成熟的组件库。开发人员可以通过自定义指令和组件参数的方式,非常方便地扩展和定制页面的功能和样式。 该模板还提供了许多实用的插件和工具,例如权限管理插件、国际化插件等,可以帮助开发人员更好地管理和维护后台系统。另外,vue-admin-beautiful-plus 还支持响应式设计,适配了不同尺寸的设备,使得后台系统在手机、平板和电脑等各种设备上都能良好地展示和使用。 总的来说,vue-admin-beautiful-plus 是一个功能齐全、易用且美观的管理后台模板,能够帮助开发人员快速构建出强大的管理后台系统。无论是个人开发者还是企业开发团队,都能够在该模板的基础上进行二次开发和定制,以满足自己的具体需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值