洛谷P1866 编号

   题目链接:P1866 编号 - 洛谷 | 计算机科学教育新生态

   题目难度:普及一

洛谷P1866 编号_第1张图片

 题目分析:这是一道简单的数学题,设n = 5,5个数为:10,13,14,17,15,先将这五个数排 序,10,13,14,15,17,第一只兔子有10种选法,第二个兔子12种(去掉一种),以此类推,答案为10 * 12 * 13 * 14 * 16 % 1e9 + 7.

注意:必须边乘边摸

#include
using namespace std;
typedef long long ll;

const int mod = 1e9 + 7;
int num[51];
int n,m;

int read() {
    int s = 0, f = 1;
    char ch = getchar();
    while (ch < '0' || ch > '9') {
        if (ch == '-') f = -1;
        ch = getchar();
    }
    while (ch >= '0' && ch <= '9') {
        s = s * 10 + ch - '0';
        ch = getchar();
    }
    return s * f;
}

int main() {
 
    n = read();
    
    for(int i = 1; i <= n; i++) num[i] = read();
    
    sort(num + 1,num + 1 + n);
    
	ll ans = 1;
	
	for(int i = 1; i <= n; i++) 
	{
		ans *= (num[i] - i + 1);
		ans %= mod;
	}
	
	cout<

你可能感兴趣的:(洛谷数学1基础数学问题,算法,数论)