一、原题

引用:蓝桥杯2022年第十三届决赛真题-取模(C/C++/Java组) - C语言网

考试时乍一眼是中国剩余定理,1e9倒着枚举阶层也是13...14...啥的,数据范围不是很大,当时一看到T的数据范围就挺担心,因为笔者是python组,遇到卡常数就很烦,而且也无法用c++完成题目,

后背顿时凉一半了,不过我想这毕竟是OI赛制,应该还能得点分吧。。。

二、思路-中国剩余定理

命题 :  给定整数 n,m (n>=m>=1),问当赋值给变量k = 1、2、3、...、m 的变化过程中,n mod k 是否能刚好取遍[0,m-1);

我们进一步提炼命题 : n mod k ≡ (k - 1) 是否能在 k ∈ [1,m) 中始终成立 。

如果命题为真,那么n mod 1 = 0,那么n mod 2 必为 1...

可得出如下图的同余方程组:

不难可以推出:当n满足以上同余方程组,那么将不存在一对不相同的 x,y 满足 n mod x = n mod y 且 1 <= x < y <= m;

我们可以举个例子,当命题为真,n满足以上同余方程组,设x,y分别为1,2 (m >=2),那么我们可以发现 n mod 1 与 n mod 2 是不相等的。

综上,我们也不难得出:n mod m! 的唯一解为 m! - 1 

然,由题意得:数据范围最大是1e9,从1开始枚举m,使得m的阶层小于等于1e9,我们会发现m 最大可取 13。也就是说,我们只需要枚举不超过十三个数,就可以判断n,m能否满足以上同余方程组,进而判断n,m是否满足原命题。

三、代码实现

PS:用c++ + 快读不香吗!! 笔者还未发现Python的快读快写方法,有知道的小伙伴请多多指教!阿里噶多!!

#include<bits/stdc++.h>int read() {register int x = 0,f = 1;register char ch;ch = getchar();while(ch > '9' || ch < '0'){if(ch == '-') f = -f;ch = getchar();}while(ch <= '9' && ch >= '0'){x = x * 10 + ch - 48;ch = getchar();}return x * f;
}int main(){int x;long long n,m;x = read();for (long long j = 1;j <= x;j ++){n = read();m = read();if (m > 13) m = 13;bool flag = false;for (int i = 2;i <= m;++i){if (n % i != i - 1) flag = true;if (flag) break;}printf((flag ? "Yes\n" : "No\n"));}return 0;
} 

有问题或者有更多想法的小伙伴,请在评论区提出指导意见,谢谢!

十三届蓝桥杯决赛题目--取模 (C/C++ 大学C组)相关推荐

  1. 第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组

    第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组 第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组 [考生须知] 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试 题. ...

  2. 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C 组

    试题 A: 排列字母 本题总分:5 分 [问题描述] 小蓝要把一个字符串中的字母按其在字母表中的顺序排列. 例如,LANQIAO 排列后为 AAILNOQ. 又如,GOODGOODSTUDYDAYDA ...

  3. 第十届蓝桥杯大赛软件赛省赛——Java大学A组

    第十届蓝桥杯大赛软件赛省赛--Java大学A组 试题A:平方和 public class TestA {static boolean has2019(int number) {String strin ...

  4. 第十届蓝桥杯大赛软件类省赛 JAVA 大学 A 组

    迷宫 本题总分:10 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为左 ...

  5. 第十届蓝桥杯大赛软件类省赛Java大学B组 试题 G: 外卖店优先级

    时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 [问题描述] "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖店都有 一个优先级,初始时 ...

  6. 2022年第十三届蓝桥杯JAVA B组题目

    第一次参加蓝桥杯,感觉一般般,手机没电导致只写了两个半小时就交了(不能重复交哎),没有检查,后面交卷后我还继续写了.静候结果吧,无论有没有拿奖,它促进了我学了很多算法,一两个月前还是只有语法基础的选手 ...

  7. 第十三届蓝桥杯大赛软件赛省赛真题

    第十三届蓝桥杯大赛软件赛省赛Java 大学 B 组 文章目录 第十三届蓝桥杯大赛软件赛省赛Java 大学 B 组 [考生须知] 试题 A: 星期计算 试题 B: 山 试题 C: 字符统计 试题 D: ...

  8. 第十三届蓝桥杯Java B组真题

    试题 A: 星期计算 本题总分:5 分 [问题描述] 已知今天是星期六,请问 2022 天后是星期几? 注意用数字 1 到 7 表示星期一到星期日. [答案提交] 这是一道结果填空的题,你只需要算出结 ...

  9. 2022第十三届蓝桥杯JAVAB组省赛总结

    2022年第十三届蓝桥杯JAVAB组省赛 蓝桥杯准备了好久,毕竟学校还是认可,如果能进国赛还能有保研加分. 今年真是可惜了,题太难了,从去年买了Acwing的课,一直在学,没想到到最后是这么个情况. ...

最新文章

  1. C# WinForm 通过URL取得服务器上的某图片文件到本地
  2. 更优雅地判断iOS设备类型
  3. 计算机操作系统笔记——处理器调度
  4. 创建Python虚拟环境——下
  5. THINKPHP5判断当前浏览器请求方式
  6. AtCoder 4169 [ARC100D] Colorful Sequences(dp)
  7. DNS的几个基本概念:
  8. LeetCode算法入门- Longest Palindromic Substring-day5
  9. Golang并发模式基础
  10. 软件也要歧视大龄程序员吗?
  11. android如何关闭响应程序,android – 如何修复应用程序没有响应?
  12. 有截图功能的android播放器,Android hls、rtsp录屏截屏直播播放器
  13. cgi一键还原 linux分区,用一键恢复CGI工具备份还原分区和硬盘使用图文教程
  14. debian 网络代理_Debian系统代理服务器安装及配置
  15. 10.16作业 如鹏
  16. 中国房地产总市值与GDP的比例
  17. win10内存满载测试软件,windows10系统使用自带内存检测工具检测内存好坏的方法...
  18. 北京今年将新建提升1000个生活性服务业网点
  19. 2.微处理器:8088功能结构图【BIU 和 EU】 + 8088【内部各寄存器】的解释
  20. html网页中圆角边框的编写,Html实现边框圆角的实例详解

热门文章

  1. 离散数学考前复习:(二)数理逻辑
  2. 手把手教你做抽奖转盘(自定义alert()弹出框)
  3. 分享找素材思路和技巧,南京小妹做自媒体短视频,3个月挣3W多
  4. 打开小米安全中心的权限管理
  5. 数据库自动化运维平台--数据库巡检
  6. 灵飞经·西城八部·风流云散1
  7. 系统管理员设置了系统策略,禁止进行此安装”解决方法!
  8. 图像翻转(Image Flip)
  9. JAVA实现矩阵连乘
  10. 菜鸟获取CSDN积分技巧