回 帖 发 新 帖 刷新版面

主题:求水仙花数时的怪异问题

在求水仙花数时有一式子:a^3+B^3+c^3=i
或者A*A*A+b*b*b+C*c*c=I
前一式子不能得到结果
后一式子却能得到结果,不知为什么?请告诉我,谢谢!!!!

回复列表 (共10个回复)

沙发

把整个程序贴上来看看

板凳

这什么程序啊   整个的有没有啊

3 楼

你问的问题,我在本论坛中也问过!并有高手给解答过.
    你可以浏览"http://www.programfan.com/club/post-255031.html"  即"关于乘方问题"这个贴子!希望我们以后能共同探讨!

4 楼

CLS
INPUT N
S=0
A=1
FOR I=1 TO N
S=S*10+9
IF I<>1 THEN 
   A=A*10
END IF 
NEXT I
FOR I=A TO S
C=I
B=0
DO
B=B+(CMOD 10)^N
C=C\10
LOOP UNTIL C = 0
IF B = I THEN PRINT I;
NEXT I
END
我这个程序是你输入一个数,把你的这个看成位数(就是把水仙花数,玫瑰花数,五角星数,六合数等任意数位组合在一起)输出类似于水仙花数的数,公式:N位数^N,N手动输出
(但数位大时,你的计算机要足够的强劲,否则是耐心的折磨)

5 楼

http://bbs.pfan.cn/post-307165.html
使用乘方 ^ 符号进行运算,
所得结果是一个精度值(浮点数,是有小数点的,并不是精确的整数值)
有小量误差,它们的和也是一个浮点数,虽然误差极小,但也是存在的。
所以等式并不成立。

而整值之间使用乘号,所进行的运算是整值运算,所得值也是整数。
这个时候不存在误差,所以结果是成立的。

去谢谢MOZ

6 楼

这个属于QB的BUG比如
IF 3^3+1^3=28 THEN ? "Y" ELSE ? "N"
如果让你读程序,你定会写"Y",但你放入QB,却是"N".

7 楼

这是qb自身的误差

8 楼

qb的BUG

9 楼

bug是什么意思啊

10 楼

我来回复

您尚未登录,请登录后再回复。点此登录或注册