码迷,mamicode.com
首页 > 其他好文 > 详细

【ECNU620】数学题(结论题)

时间:2019-07-28 19:55:28      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:amp   ref   name   ons   合数   数学题   als   fine   def   

点此看题面

大致题意:\((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】数学题(结论题)

标签:amp   ref   name   ons   合数   数学题   als   fine   def   

原文地址:https://www.cnblogs.com/chenxiaoran666/p/ECNU620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!