【数学】【P5076】 Tweetuzki 爱整除

Description

对于一个数 k,找到任意一个 x,满足 0  k  x  1018 且对于任意一个 x 进制数,把该数字各数位上的数字相加,最后得出的值若可以被 k 整除,则该数可以被 k 整除。

Input

输入仅包含一行一个整数 k

Output

输出一行一个整数代表任意一个符合要求的答案

Hint

2  k  109

Solution

考虑题目中给出的例子,各个位上的数加起来被三整除的数能够被三整除,我们来分析一下原因:

不妨设这个数 x 是两位数,否则将两位看成一位做数学归纳:

x = 10 a + b,则

x = 10 a + b = a + b + 9 a

x  0 (mod 3) , 9a  0 (mod 3)

于是

a + b  0 (mod 3)

类似的可以发现,当一个进制数相邻两位的差值可以被 k 整除时,该数可以被 k 整除。

设这是个 x 进制数,则更高一位减更低一位的差值为 x  1

于是 x  1  0 (mod k)

任意输出一个 x 即可。最简单的当然是输出 k + 1

Code

a = int(input())
print(a + 1)
posted @   一扶苏一  阅读(194)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示