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

2067C cf1500

题目描述:
C. 九进制问题
时间限制:每个测试2秒
内存限制:每个测试256兆字节
给定一个正整数 n。每次操作中,你可以给 n 加上任意一个十进制表示仅由数字 9 组成的正整数(数字 9 可以重复出现多次)。
请问至少需要进行多少次操作,才能使得数字 n 的十进制表示中至少出现一个数字 7?
例如,当 n=80 时,只需进行一次操作:你可以给 n 加上 99,操作后 n=179,其中包含了数字 7。
输入
每个测试包含多个测试用例。第一行包含测试用例数量 t(1≤t≤10^4)。接下来是每个测试用例的描述。
每个测试用例只有一行,包含一个整数 n(10≤n≤10^9)。
输出
对于每个测试用例,输出使数字 n 包含数字 7 所需的最少操作次数。
解题思路:
1.加上任意一个只有9构成的数字,999,99可以,但是99900不可以,也就是说加上了10的幂-1,所以如果进行最少l次操作找到7的话,
最终数字= n + l × (999...9)
= n + l × (10^k - 1) // 因为 999...9 = 10^k - 1
= (n - l) + l × 10^k
等价于对n-l执行某个位置加1的操作,这样for循环遍历每一位看是否可以,如若加的是9构成的数字,对某一位进行判断时会受到其他位影响,难以得出准确结果,如果当前位变成7的操作小于操作数l代表可以,并且不用再统计原本为8和9的位置,因为由8和9到的是17操作次数过多,l是从0到9,所以不用担心n-l里只有8和9的情况。
核心代码实现:
void solve() {
int n;
cin >> n;
for (int l = 0; l <= 9; l++) {
string s = to_string(n - l);
int md = 0;
for (auto c: s) {
if (c <= '7') {
md = max(md, c - '0');
}
}
if (l >= 7 - md) {
cout << l << '\n';
return;
}
}
}

http://www.rkmt.cn/news/30898.html

相关文章:

  • 兼职日志-mysqlpython出图
  • 2025自动上料机厂家推荐东莞市垚林机械,高效输送精准控料!
  • Marchenko imaging-Kees Wapenaar-2014
  • ai-ti
  • 2025 年 10 月系统门窗厂商榜单揭晓,专业系统智造与品牌保障口碑优选
  • 学弟模拟赛题解报告 - idle
  • 鱼书学习笔记
  • 2025年店铺装修设计施工一体化推荐榜单:服装店/化妆品店/火锅店/商场店/餐厅/健身房/美容美发/珠宝店等专业装修公司精选
  • 20232423 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 2025年空调维保/末端保养/空调清洗/水处理厂家推荐排行榜:专业维护与高效服务口碑之选
  • XML-RPC接口安全漏洞分析与防护
  • 102302135_陈霖_作业1
  • 2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保公司精选
  • 参考文献
  • 2025 年 10 月门窗十大品牌榜单揭晓,聚焦专业制造与品牌口碑的品质之选
  • 大样例通过后无法AC的可能
  • 实现一个简易版本的IOC
  • Alibaba Cloud Linux 4 安装docker后,修复docker的方法
  • 2025年TPU厂家权威推荐榜:专业TPU加纤、TPU改性生产技术实力与市场口碑深度解析
  • hadoop应用遇到的问题
  • 企业级Nginx安装部署
  • 2025 年 10 月门窗十大品牌综合实力权威推荐榜单,精准检测与稳定性能兼具的行业优选解析
  • 2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦高端定制需求与全案交付能力
  • 力扣 第473场周赛(A~D)
  • Java学习与工作汇报总结
  • Alibaba Cloud Linux 4 镜像备份到自己的 OSS 中,并同时使用该镜像部署
  • Function Calling
  • 20232302 2025-2026-1《网络与系统攻防技术》实验三实验报告
  • 2025 年 10 月门窗十大品牌综合实力权威推荐榜单,产能、专利、环保三维数据透视
  • 2025年10月膜结构厂家推荐榜:双资质企业对比评测 ,