CERC2017 F: Faulty Factorial 简单数论题
#include <iostream>
using namespace std;
#define ll long long
const int N = ;
ll n,p,r;
ll poww(ll a,ll b){
ll ans =1ll;
while(b){
if(b&) ans =ans*a%p;
b>>=;
a=a*a%p;
}
return ans%p;
}
int main()
{
//每次都要注意-1 -1的情况
scanf("%lld%lld%lld",&n,&p,&r);
if(n>=*p){
if(r==){
printf("%lld 1\n",p+);
}
else{
printf("-1 -1\n");
}
}
else if(n>=p){
if(r==){
int flag =;
for(ll i=;i<=n;i++){
if(i!=p)//起初if的{}写错了
{
printf("%lld 1\n",i);
flag =;
break;
}
}
if(!flag)printf("-1 -1\n"); //n=p=2
}
else{
ll ans=1ll;
for(ll i=;i<=n;i++) {
if(i!=p) ans =ans*i%p;
}
int flag =;
for(ll i=;i<p;i++){
if(ans*i%p==r) {
printf("%lld %lld\n",p,i);
flag =;
break;
}
}
if(flag==) printf("-1 -1\n");
}
}
else{
ll ans =1ll;
for(ll i=;i<=n;i++) ans =ans*i%p;
int flag =;
ans = poww(ans,p-);//放到里面会超时
for(ll i=;i<=n;i++){
ll x= r*i%p*ans%p;
// ans/i*x%p==r
// x=r*i%p/ans%p;
if(x>=&&x<i){
printf("%lld %lld\n",i,x);
flag =;
break;
}
}
if(!flag) printf("-1 -1\n");
}
return ; }
CERC2017 F: Faulty Factorial 简单数论题的更多相关文章
- 【正睿多校联盟Day4 T4 简单的数论题】
题目名有毒 由于并没有系统地开始学习数论,所以数论题基本靠暴力. 然鹅本题的题解相当简单: emmm....我当你没说 一个简单易懂的方法是这样的: 1. 欧拉定理的推论 若正整数a,n互质,则对于任 ...
- BZOJ 3209: 花神的数论题 [数位DP]
3209: 花神的数论题 题意:求\(1到n\le 10^{15}\)二进制1的个数的乘积,取模1e7+7 二进制最多50位,我们统计每种1的个数的数的个数,快速幂再乘起来就行了 裸数位DP..\(f ...
- FJUT-这还是一道数论题
这还是一道数论题 TimeLimit:4000MS MemoryLimit:128MB 64-bit integer IO format:%lld Special Judge Problem D ...
- Visual F# Power Tools 简单介绍
Visual F# Power Tools 简单介绍 Auto-generating XmlDoc 当在函数定义的前面输入 ///< 以后.会自己主动生成 XML 文档.并会自己主动提取函数中的 ...
- 【LG4317】花神的数论题
[LG4317]花神的数论题 题面 洛谷 题解 设\(f_{i,up,tmp,d}\)表示当前在第\(i\)位,是否卡上界,有\(tmp\)个一,目标是几个一的方案数 最后将所有\(d\)固定,套数位 ...
- bzoj3209:3209: 花神的数论题
觉得还是数位dp的那种解题形式但是没有认真的想,一下子就看题解.其实还是设置状态转移.一定要多思考啊f[i][j]=f[i-1][j]+g[i-1][j] g[i][j]=f[i-1][j-1]+g[ ...
- [Bzoj3209]花神的数论题(数位dp)
3209: 花神的数论题 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2633 Solved: 1182[Submit][Status][Disc ...
- BZOJ_3209_花神的数论题_组合数+数位DP
BZOJ_3209_花神的数论题_组合数+数位DP Description 背景 众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦. 描述 话说花神这天又 ...
- 【数位DP】【P4317】花神的数论题
[数位DP][P4317]花神的数论题 Description 给定 \(n\),求 \(n\) 以内所有正整数二进制下 \(1\) 的个数的乘积,答案对 \(10^7 + 7\) 取模 Limita ...
随机推荐
- angular2-搭建环境
npm 模块将被下载安装到[全局目录]中.[全局目录]通过 npm config set prefix "目录路径" 来设置.通过 npm config get prefix 来 ...
- ArcGIS API for JavaScript开发初探——基本地图组件使用
1.前言 在上一篇我们已经我们已经讲述了第一个地图应用程序的HelloMap的创建过程,这一篇我们来讲述基本地图组件:Home Button.比例尺.鹰眼图的使用方法. 2.基本地图组件 在ArcGI ...
- Unity利用AnimationCurve做物体的各种运动
之前一直都是自己学习Unity各种做Demo,最近开始正式使用Unity来做一个款2d的游戏. 其中在做一个类似小球弹跳运动的时候遇到了点问题,查找了很多资料,无意间发现AnimationCurve ...
- selenium 移动端测试
selenium 可以进行移动测试的.Anroid ,IOS .进行移动端测试,需要相应的SDK ,apk.其中anriod 是selenium 支持有2中选择,remote server 和 tes ...
- Coppermine-1.5.46 (Ubuntu 16.04.1)
平台: Ubuntu 类型: 虚拟机镜像 软件包: coppermine-1.5.46 commercial content management coppermine media sharing ...
- cesium 加载kml polygon和mark(贴地形terrain效果)
key code: var options = { camera : viewer.scene.camera, canvas : viewer.scene.canvas, clampToGround: ...
- 在写EF 时把时间格式化的做法
SELECT COUNT(l.LogSeq), date_format(l.CreateDate,'%Y-%m') CreateDateByMonth FROM LOL l WHERE l.Creat ...
- 中小学信息学奥林匹克竞赛-理论知识考点--ASCII
ASCII表说白了就是一张表. 表中记录着:字符 和 数字 的对应关系.比如:字符0对应的ASCII码是48,A对应的是65,a对应的是97. 只要记住这三个,其它的数字,大写,小写字母的ASCII码 ...
- 通过ServletContext取Spring的WebApplicationContext
当 Web 应用集成 Spring 容器后,代表 Spring 容器的 WebApplicationContext 对象将以WebApplicationContext.ROOT_WEB_APPLICA ...
- runtime - 消息机制
Xcode中使用runtime代码时,建议先做下配置: 使用runtime代码时会有适当的提醒. OC方法调用的本质是消息转发,消息机制的本质 创建一个Person类,添加方法 - (void)eat ...