You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求解所有大于1的整数n,使其任意次幂均具有奇数位数字

求解所有大于1的整数n,使其任意次幂均具有奇数位数字

嘿,我看到你已经想到用对数来分析位数问题了,这个思路完全没问题!咱们就顺着这个方向把问题拆解清楚,一步步找到答案。

首先回忆你提到的位数公式:对于正整数x,它的位数d(x)等于floor(log10(x)) + 1。题目要求n的任意次幂n^k的位数都是奇数,也就是对所有k≥1,floor(k*log10(n)) + 1是奇数,等价于floor(k*log10(n))必须是偶数——这是我们的核心条件。

接下来设α = log10(n)(n>1的整数,所以α是正数),问题转化为:对所有k≥1,floor(kα)都是偶数。咱们分两种情况讨论α:

情况1:α是无理数

根据Weyl均匀分布定理,kα的小数部分会均匀分布在[0,1)区间里。这意味着总会存在某个k,使得kα的整数部分是奇数(比如当kα落在某个形如(2m+1, 2m+2)的区间时),此时floor(kα)=2m+1是奇数,对应的n^k的位数就是(2m+1)+1=2m+2,是偶数,不符合要求。所以α不能是无理数,n也不可能是10的无理次幂(毕竟n是整数,这种情况本来也不存在,但逻辑上要先排除)。

情况2:α是有理数

既然α是有理数,那α可以写成p/q的形式,其中p、q是互质的正整数。但n是整数,所以10^(p/q)=n → nq=10p=2p5p。因为n是整数,2和5都是质数,所以q必须同时整除p里的2的指数和5的指数,也就是q整除p。设p=qm,那么α=qm/q=m,也就是α是正整数!这说明n=10^m,m是正整数。

现在回到核心条件:floor(k*m)=k*m必须是偶数对所有k≥1。那k*m要恒为偶数,意味着什么?

  • 当k=1时,m必须是偶数(因为1*m=m要满足偶数);
  • 当k是奇数时,m是偶数的话,km=奇数偶数=偶数,满足条件;
  • 当k是偶数时,不管m是什么,k*m都是偶数,而我们已经要求m是偶数,自然也满足。

所以m必须是正偶数,设m=2t(t≥1的正整数),那么n=10^{2t},也就是n=100, 10000, 1000000,...这类10的偶次幂的整数。

举几个例子验证

  • n=100:1001=100(3位,奇数),1002=10000(5位,奇数),100^3=1000000(7位,奇数),完全符合;
  • n=10000:100001=10000(5位,奇数),100002=100000000(9位,奇数),没问题;
  • 反例n=10(10的奇次幂):10^1=10(2位,偶数),不符合;
  • 反例n=2:2^4=16(2位,偶数),不符合。

总结一下:所有满足条件的大于1的整数n,就是10的所有偶次幂,即n=10^{2t},t为正整数。

备注:内容来源于stack exchange,提问作者Seetha Rama Raju Sanapala

火山引擎 最新活动