当前位置: 首页 > news >正文

CF2043b-B. Digits

题目链接

题意:给定两个整数n、d,要求找出排列成n!个d之后的数可以被1-9中奇数整除的数

题解:

       主要是考察分类讨论:

               被3整除,当d能被3整除时一定成立或者n >= 3,当n >= 3时n!一定包含因数3

               被5整除,当d能被5整除时成立

               被7整除,N = d * \sum 10^{n-1} = d * (10^{n} - 1) / 9,这种情况下要么d能被7整除,要么(10^{n} - 1) / 9能被7整除,我们可以计算10^n mod 7的周期性。通过计算,我们发现10^1 mod 7 = 3 10^2 mod 7 = 2 10^3 mod 7 = 6 10^4 mod 7 = 4 10^5 mod 7 = 5 10^6 mod 7 = 1  因此10^n mod 7的周期性是6为了确保10^n - 1能被7整除 我们需要n是6的倍数。n!为6的倍数n至少为3

                被9整除,N = d * \sum 10^{n-1} = d * (10^{n} - 1) / 9,这种情况下要么d能被9整除,要么分成两种情况来讨论:一种是d%3 == 0的情况,这种情况要确保(10^{n} - 1)能被27整除,我们可以计算10^n mod 27的周期性。通过计算,我们发现10^1 mod 27 = 10 10^2 mod 27 = 19 10^3 mod 27 = 1因此10^n mod 27的周期性是3为了确保10^n - 1能被27整除 我们需要n是3的倍数。n!为3的倍数n至少为3;

                另一种情况d % 3 != 0的情况,这种情况要确保(10^{n} - 1)能被81整除,我们可以计算10^n mod 81的周期性10^n分别mod81得10 19 28 37 46 55 64 73 1,n为9的倍数n!为9的倍数则n至少为6

#include <bits/stdc++.h>
using namespace std;#define fi first 
#define se second
#define ve vector
#define all(x) (x).begin(), (x).end()
#define rep(i, a, b) for (int i = a; i < b; i++)
#define per(i, a, b) for (int i = a; i >= b; i--)
using i64 = long long;
using pi = pair<i64, i64>;void solve() {int n, d;cin >> n >> d;ve<int> res;res.emplace_back(1);if ((d % 3 == 0) || (n >= 3)) {res.emplace_back(3);}if (d == 5) {res.emplace_back(5);}if (d == 7 || n >= 3) {res.emplace_back(7);}if (d == 9) {res.emplace_back(9);} else if (d % 3 == 0) {if (n >= 3) {res.emplace_back(9);}} else if (n >= 6) {res.emplace_back(9);}for (int i = 0; i < res.size(); i++) {cout << res[i] << " \n"[i == res.size() - 1];}
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int t;cin >> t;while (t--) {solve();}return 0;
}

                

        

http://www.lryc.cn/news/513385.html

相关文章:

  • ultralytics库RT-DETR代码解析
  • (七)- plane/crtc/encoder/connector objects
  • 基于STM32的四轴飞行器的控制系统(论文+源码)
  • 混合精度训练(Mixed Precision Training)中为什么在训练过程中不直接使用bf16进行权重更新?中英双语
  • 【java】HashMap的实现原理
  • FCM32F103C8T6开发指引
  • Python世界:人生苦短,我用Python
  • 【从零开始入门unity游戏开发之——C#篇43】C#补充知识——值类型和引用类型汇总补充、变量的生命周期与性能优化、值类型和引用类型组合使用
  • 从论文到实践:Stable Diffusion模型一键生成高质量AI绘画
  • 项目管理:用甘特图 “导航” 项目全程
  • v3.0.8- 「S+会员」新增专属运动秀,试试新穿搭吧- 与「好友」
  • 9-Gin 中自定义 Model --[Gin 框架入门精讲与实战案例]
  • 【VBA】EXCEL - VBA 创建 Sheet 表的 6 种方法,以及注意事项
  • 数据库中,group by 和partition by:数据分组和数据分区的区别
  • 【linux学习指南】Ext系列文件系统(四)路径分区链接
  • 深度学习中的参数初始化
  • wpf 基于Behavior库 的行为模块
  • 【每日学点鸿蒙知识】导入cardEmulation、自定义装饰器、CallState状态码顺序、kv配置、签名文件配置
  • 【SpringMVC】REST 风格
  • IDEA修改编译版本
  • SkyWalking Agent 配置 Spring Cloud Gateway 插件解决日志错误
  • canvas+fabric实现时间刻度尺(一)
  • 傲雷亮相2024中国时尚体育季(珠海站),展现户外移动照明风采
  • YOLOv10-1.1部分代码阅读笔记-block.py
  • @RestControllerAdvice注解
  • Enum枚举类与静态变量和静态数组的区别
  • uniapp——微信小程序读取bin文件,解析文件的数据内容(三)
  • SpringBoot集成ECDH密钥交换
  • python文件操作相关(excel)
  • 探索React与Microi吾码的完美结合:快速搭建项目,低代码便捷开发教程