【数学】【P5076】 Tweetuzki 爱整除

探讨了进制数的特殊性质,即当一个数的各位数字之和能被k整除时,该数也能被k整除。通过数学归纳法证明了这一性质,并给出了求解特定条件下满足此性质的进制数的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

对于一个数 \(k\),找到任意一个 \(x\),满足 \(0~\leq~k~\leq~x~\leq~10^{18}\) 且对于任意一个 \(x\) 进制数,把该数字各数位上的数字相加,最后得出的值若可以被 \(k\) 整除,则该数可以被 \(k\) 整除。

Input

输入仅包含一行一个整数 \(k\)

Output

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

Hint

\(2~\leq~k~\leq~10^9\)

Solution

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

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

\(x~=~10~a~+~b\),则

\[x~=~10~a~+~b~=~a~+~b~+~9~a\]

\[x~\equiv~0~(\bmod~3)~,~9a~\equiv~0~(\bmod~3)\]

于是

\[a~+~b~\equiv~0~(\bmod~3)\]

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

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

于是 \(x~-~1~\equiv~0~(\bmod~k)\)

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

Code

a = int(input())
print(a + 1)

转载于:https://www.cnblogs.com/yifusuyi/p/10091223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值