回 帖 发 新 帖 刷新版面

主题:[讨论]这道题我想了好久哦,希望各位高手前来指点一下。

找出1~1000之间的全部同构数。所谓同构数就是指这样的数,它出现在它的平方数的右端。例如:5的平方是25,5是25右端的数,5就是同构数。同理,25的平方是625,25也是一个同构数。
  我是这样编的,怎么看都没问题呀,但就是不行,请各位高手指导指导。
CLS
FOR I = 1 TO 1000
L=LEN(I)
S=I^2
I$=STR$(I)
S$=STR$(S)
IF I$=RIGHT$(S$,L) THEN PRINT I;
NEXT I
END

回复列表 (共6个回复)

沙发

分三段考虑
1-9       IF i^2 mod 10 = i THEN PRINT i
10-99     IF i^2 mod 100 = i THEN PRINT i
100-999   IF i^2 mod 1000 = i THEN PRINT i

板凳

多谢,真容易理解,[em16]

3 楼

请问1是不是同构数啊

4 楼

应该是吧[em2]

5 楼

CLS
CONST M% = 1000
N% = INT(SQR(M%))
FOR i% = 1 TO N%
    a$ = LTRIM$(STR$(i%))
    b$ = RIGHT$(LTRIM$(STR$(i%*i%)), LEN(a$))
    IF a$ = b$ THEN PRINT i%
NEXT

6 楼

多谢!

我来回复

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