密码排列(单精度)

N个大写字母,后M个小小学字母构成长度是N+M密码。要求字母都不相同。共有多少总不同的密码排列?

输入格式

一行2个正整数,范围1<=N,M<=26

输出格式

一个正整数,因为这个数比较大,我们输出这个结果%100000007的值。

输入/输出例子1

输入:

1 2

输出:

16900

样例解释

#include<bits/stdc++.h>
using namespace std;
int n,m;
long long nl=1,ml=1,all;
int main(){
    cin>>n>>m;
    for(int i=26;i>=1;i--)
    {
        if(i>=27-n)nl*=i;
        if(i>=27-m)ml*=i;
        nl=nl%100000007;
        ml=ml%100000007;
    }
    all=nl*ml%100000007;
    cout<<all;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值