鱼C论坛

 找回密码
 立即注册
查看: 4502|回复: 11

题目63:有多少n位正整数同时也是一个数的n次方?

[复制链接]
发表于 2016-9-16 00:38:29 | 显示全部楼层
这里,可以先数学分析一下:
如果使得某个数k的n次方是一个n位数,k显然必须小于10,且k^n>10^(n-1)
后面的不等式在取对数后,最终可化为
n<1/(1-log10(k)),当然,这里n是允许等于1的(即5的1次方是1位数,这是计数在内的)。
顺着这个思路,后面就很好写代码了。
将所有1次方计数在内,共49个。
  1. import math

  2. num=0
  3. for k in range(1,10):
  4.     temp = 1/(1-math.log10(k))
  5.     num+=int(temp)
  6. print(num)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-10 06:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表