回 帖 发 新 帖 刷新版面

主题:再问一下,我的这个程序为什么会这样子啊?<水仙花数>

求100 到 999的水仙花数的问题
 For a=100 to 999
   x=INT(a/100)  
   y=INT((a-x*100)/10) 
   z=a-x*100-y*10
  If [u][color=008080][color=0000FF][color=FF0000]a=x^3+y^3+z^3[/color][/color][/color][/u] Then Print a
 Next a
End
为什么我一定要把红色加线的这一段a=x^3+y^3+z^3写成a=x*x*x+y*y*y+z*z*z这样子才可以显示出结果呢

回复列表 (共4个回复)

沙发


还有一题求1+1/1!+1/2!+.....1/n!直到前后两项之差<10e-6为止
我是这样编写的,请问大家错在什么地方?
s=1:n=2
whiel 1/(n-1)-1/n<10e-6
   for a=1 to n
     s=s*a
   next a
     m=m+1/s
     n=n+1
wend 
print m
end
还望大家多多指教,我现在都犯晕了

板凳

IF ABS(x ^ 3 + y ^ 3 + z ^ 3 - a) < .0000001 THEN PRINT a

if then中间的语句的计算 应该是用协处理器计算的 精度比较高


i = 1
n = 1     ' 0!
sum = 1   ' 1/0!
DO WHILE 1 / n > .00001
  n = n * i
  sum = sum + 1 / n
  i = i + 1
LOOP
PRINT i, n, sum

3 楼


第二楼主要是想用whiel求e的近似值,大侠这种对吗[em10]

4 楼

1/(n-1)-1/n < 1/n < 10e-6 时退出循环 自然是可以的
可以运行看看 结果当然也是 2.182818

我来回复

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