注册 登录
编程论坛 新人交流区

[求助]怎么求n的n次方的第一个数

guhongfeixue 发布于 2007-10-25 23:50, 642 次点击
n是一个非常非常大的数。n的n次方是无法求出的。怎么求n的n次方的第一个数?比如3的3次方的第一个数是2
7 回复
#2
chenfhvk2007-10-25 23:59
太大会溢出?
#3
zshkc2007-10-26 00:34

就是呀,不会,,路过!!

#4
pjjdudu2007-10-26 09:54

没写过几句代码,平时看的都是 单片机C语言;自己想了下上面的问题,总觉得写起来别扭哈。
因为单片机C的程序都是控制的,很少有什么运算。下面几句实现取整数N的最高位。

volatile unsigned int N ; //N的值为n的n次方,本想写个循环来实现的,可以感觉别扭,就没写下来了。
if ( N/10 >= 10 )
{
N=N/10 ; // N除以10,取整。
return N ;
}

#5
rediums2007-10-26 17:19
n的n次方无法求出,可以先求出以10为底n的n次方的对数,也就是lg(n的n次方),可化简为nlgn,
假设结果为y,意思也就是10的y次方等于n的n次方,现在问题转化为10的y次方的首位是什么;
y为m.n这样形式的一个实数,由公式10的m.n次方=10的m次方 * 10的0.n次方,其中10的m次方并不影响结果的首位,只要求出10的0.n次方就可以知道首位了
(10的0.n次方为一个0到10之间的数,只要取整便是所求)
#6
kakawei2007-11-06 00:14
楼上的太裤了!
#7
wangmingqun2007-11-06 10:08
    数学真是好东西啊。我们大家都要开放思路,多向rediums学习啊。确是个好方法!佩服!!
#8
gaolf20062007-11-08 10:41
5楼,高
1