蓝桥杯 ADV-235 试题 算法提高 阶乘差

资源限制

时间限制:1.0s   内存限制:256.0MB

问题描述

  给定n和m以及p,保证n>=m,求(n!-m!)对p取余的结果。

输入格式

  一行三个正整数n,m,p。

输出格式

  一行一个非负整数表示结果。

样例输入

3 2 10

样例输出

4

数据规模和约定

  n,m<=20,p<=10000.

#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
	ll n,m,p,sum;
	cin>>n>>m>>p;
	ll sum1=1,sum2=1;
	for(int i=1;i<=n;i++)
		sum1*=i;
	for(int i=1;i<=m;i++)
		sum2*=i;
		
	sum=(sum1-sum2)%p;
	cout<<sum<<endl;
	return 0;
}
发布了80 篇原创文章 · 获赞 3 · 访问量 922

猜你喜欢

转载自blog.csdn.net/qq_40570410/article/details/104848004