ECNU620数学题(结论题)
Posted chenxiaoran666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECNU620数学题(结论题)相关的知识,希望对你有一定的参考价值。
大致题意: 求\((n-1)!\ mod\ n\)的值。
大力猜结论
首先,看到样例,我们可以猜测:
- 当\(n\)为质数时,答案为\(n-1\)。
- 当\(n\)为合数时,答案为\(0\)。
这样一交,你就会发现你WA了。
那么上面的结论错在哪里呢?
其实只要特判\(n=4\)时输出\(2\)即可。
证明?我不会。
代码
#include<bits/stdc++.h>
#define Tp template<typename Ty>
#define Ts template<typename Ty,typename... Ar>
#define Reg register
#define RI Reg int
#define Con const
#define CI Con int&
#define I inline
#define W while
using namespace std;
int n;
I bool IsPrime(CI x)//判断是否为质数
RI i;for(i=2;1LL*i*i<=x;++i) if(!(x%i)) return false;
return true;
int main()
return scanf("%d",&n),printf("%d",n==4?2:(IsPrime(n)?n-1:0)),0;//输出答案
以上是关于ECNU620数学题(结论题)的主要内容,如果未能解决你的问题,请参考以下文章