注册 登录
编程论坛 VB6论坛

求助,有段程序看不懂

xiaoqing2014 发布于 2014-04-27 22:57, 391 次点击
从10到19这10个数的完全平方数中筛选出各位互补相同的完全平方数,并将结果打印在屏幕上
FOR X=10 TO 19
Y=X*X
DO WHILE Y>0
W=Y MOD 10
IF A(W)=1 THEN EXIT DO
A(W)=1:Y=Y\10:LOOP
IF Y=0 THEN PRINT X*X
ERASE A
NEXT X
END
谁能帮帮我,中间那段循环我看不懂
5 回复
#2
lowxiong2014-04-28 06:51
我也没看懂啊。1:数组a是怎么来的?2:各位互补相同是什么意思
#3
风吹过b2014-04-28 11:46
'本段程序,负责筛选10-19数据的平方中不包含重复数据的数值。
'如 13 ^2 = 196 ,无重复。 15^2 =225 ,有2重复。
For x = 10 To 19            '10-19
Y = x * x                   'X的平方
Do While Y > 0                  'Y〉0
    W = Y Mod 10                '取个位数
    If a(W) = 1 Then Exit Do        '如果该数据已使用,退出循环1
    a(W) = 1: Y = Y \ 10: Loop      '否则,设置已使用一次,Y再缩小10倍,也就是把10位变成个数,以便下一次循环使用
    If Y = 0 Then Print x * x       '如果Y缩小到了为0,也就是所有的数据都测试过了,没有中途退出循环,那么就适合要求的数据,输出
Erase a                 '把各元素重置为0
Next x

没看懂你的解释。只看懂的程序,与你的解释搭不下。
#4
鸥翔鱼游2014-04-28 14:14
且学且珍惜,得认学习真正消化
#5
xiaoqing20142014-04-29 13:25
回复 楼主 xiaoqing2014
不好意思,是我打错了,不是互补相同,是互不相同
这两天有事,所以没有来!抱歉!没有及时说明!
#6
xiaoqing20142014-04-29 13:28
回复 3 楼 风吹过 b
这是一道题目,我看不懂,所以求助了
我把互不相同打成了互补相同,不好意思!
谢谢你的解析,我看懂了!
1