主题:"同构数"怎么做啊.
新人
[专家分:30] 发布于 2005-05-31 20:22:00
找出1--100之间全部"同构数".同构数是这样一种数它出现在它的平方数的右端.
例如.5的平方是25, 25的平方是625.
回复列表 (共13个回复)
沙发
ll007 [专家分:20] 发布于 2005-05-31 20:26:00
这题不难 我想你只要在BAIDU或其它网页中搜索便会有答案!!
板凳
新人 [专家分:30] 发布于 2005-05-31 20:34:00
谁帮我做做啊.
3 楼
新人 [专家分:30] 发布于 2005-05-31 20:59:00
我试着做了一下,程序好像有点烦琐,请改进以下,谢谢。
FOR x=0 to 9
FOR y=0 to 9
FOR z=0 to 9
FOR a=0 to 9
FOR b=0 to 9
FOR c=0 to 9
IF (x*10+y)*(x*10+y)=z*1000+a*100+b*10+c and x=b and y=c THEN
PRINT x*10+y; y
END IF
NEXT c
NEXT b
NEXT a
NEXT z
NEXT y
NEXT x
4 楼
飞鸟12 [专家分:2830] 发布于 2005-06-01 12:17:00
晕!六层循环...
CLS
FOR i = 1 TO 9
IF i ^ 2 MOD 10 = i THEN PRINT i;
NEXT i
FOR i = 10 TO 99
IF i ^ 2 MOD 100 = i THEN PRINT i;
NEXT i
结果如下:
1 5 6 25 76
5 楼
新人 [专家分:30] 发布于 2005-06-01 18:29:00
谢谢飞鸟.明白了.
6 楼
新人 [专家分:30] 发布于 2005-06-01 18:30:00
还有个问题,1是不是同构数啊.
1的平方是1,没有左端啊.
7 楼
新人 [专家分:30] 发布于 2005-06-01 18:35:00
谢谢指点.
8 楼
def [专家分:3380] 发布于 2005-06-11 22:47:00
怎么'没有有段'?,1^2=1,right$("1",1)=1
怎么不是?
9 楼
zhouling90 [专家分:40] 发布于 2005-06-16 15:03:00
DIM a AS INTEGER,b AS STRING,c AS SRTING
FOR i=1 to 100
a=i*i
b=LTRIM$(STR$(a))
c=LTRIM$(STR$(i))
n=LEN(c)
IF RIGHT$(b,n)=c THEN PRINT i;"是同构数",i*i
NEXT i
END
[em10][em16]
10 楼
88324837 [专家分:490] 发布于 2005-06-16 16:37:00
for a=1 to 100
b=len(str$(a))-1
if a^2 mod 10^b = a then print a
next a
end
我这个程序可以找出所有的同构数,无论数字有多大,只要不超过计算机所能执行的长度
是不是简单有方便的程序啊
给我打个高分哦
你们上面的几个写的程序都太麻烦了,程序应该要简单化
我来回复