WISEKING

· · 个人记录

题目

\color{pink}\text{WISEKINGDOM 有N 个公主和M个侍卫暑假到了,公主们要去度假。}
\color{pink}\text{为了公主的安全WISEKING 将让侍卫保护公主出行,并且每个公主至}
\color{pink}\text{少需要两个侍卫;现在WISEKING 想知道一共有多少种分配方案;请}
\color{pink}\text{ 你帮WISEKING 求出一共有多少种方案,并输出。 输入:仅一行,两}
\color{pink}\text{个数N,M; 输出:方案数ANS;}

这是排列组合,很简单,但是需要\color{red}\text{高精度}

高精度 * 低精度 写法如下:

void calc(int a[],int y)     //a[]存数
{
    for(int i=1;i<=cnt;i++)
    {
        c[i]+=a[i]*y;
        c[i+1]=c[i]/10;
        c[i]=c[i]%10;
    }                //模拟进位
    while(c[cnt+1]!=0)
    {
        cnt++;
        c[cnt+1]=c[cnt]/10;
        c[cnt]%=10;
    }              //增加位数
    for(int i=1;i<=cnt;i++)
        a[i]=c[i],c[i]=0;
}