列表

详情


NC210627. 王母娘娘又双叒叕来难为茶山牛了

描述

我们每个人应该都听过牛郎和织女的传说,但是你们知道吗?牛郎的真名其实叫做————茶山牛
经过茶山牛不懈的努力,王母娘娘终于同意了让他跟织女见上一面,但是必须得解决王母娘娘的一个问题。
王母娘娘给出两个数字n,m,要求茶山牛在1s内回答出的值(即n的阶乘的阶乘的阶乘对m取模后的值),这可真是难为茶山牛了,毕竟一心只想见到织女,所以你能帮助他解决这个问题吗?

输入描述

多组输入,第一行一个正整数t()表示数据组数
每组数据包含两个整数n,m()

输出描述

对于每组数据,输出答案

示例1

输入:

2
2 6553
2 2

输出:

2
0

说明:

在样例中,(2 ! ! !) = 2,对6553取模为2

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 178ms, 内存消耗: 528K, 提交时间: 2020-08-25 19:18:18

#include<iostream>
using namespace std;
typedef long long ll;
int main(){
    int t;
    ll n,m;
    cin>>t;
    while(t--){
        cin>>n>>m;
        if(n>2)    puts("0");
        else cout<<n%m<<endl;
    }
}

C++11(clang++ 3.9) 解法, 执行用时: 30ms, 内存消耗: 572K, 提交时间: 2020-08-25 19:16:31

#include<iostream>
using namespace std;
int main(){
	int _;
	for(cin>>_;_;_--){
		int n,m;
		scanf("%d%d",&n,&m);
		if(n<=2){
			printf("%d\n",n%m);
		}else{
			puts("0");
		}
	}
	return 0;
}

Python3(3.5.2) 解法, 执行用时: 430ms, 内存消耗: 3604K, 提交时间: 2020-08-26 00:02:31

import math
for _ in range(int(input())):
    n,m=map(int ,input().split())
    if n<4:
        print(math.factorial(math.factorial(math.factorial(n)%m)%m)%m)
    else:
        print(0)

pypy3(pypy3.6.1) 解法, 执行用时: 379ms, 内存消耗: 49756K, 提交时间: 2020-08-25 19:06:17

T = int(input())
for cas in range(T):
  a, b = map(int, input().split())
  if a <= 2:
    print(a % b)
  else:
    print(0)

上一题