回 帖 发 新 帖 刷新版面

主题:"同构数"怎么做啊.

找出1--100之间全部"同构数".同构数是这样一种数它出现在它的平方数的右端.
例如.5的平方是25, 25的平方是625.

回复列表 (共13个回复)

沙发

这题不难 我想你只要在BAIDU或其它网页中搜索便会有答案!!

板凳

谁帮我做做啊.

3 楼

我试着做了一下,程序好像有点烦琐,请改进以下,谢谢。
  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 楼

晕!六层循环...
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 楼

谢谢飞鸟.明白了.

6 楼

还有个问题,1是不是同构数啊.
1的平方是1,没有左端啊.

7 楼

谢谢指点.

8 楼

怎么'没有有段'?,1^2=1,right$("1",1)=1
怎么不是?

9 楼

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 楼

for a=1 to 100
b=len(str$(a))-1
if a^2 mod 10^b = a then print a
next a
end
我这个程序可以找出所有的同构数,无论数字有多大,只要不超过计算机所能执行的长度
是不是简单有方便的程序啊
给我打个高分哦
你们上面的几个写的程序都太麻烦了,程序应该要简单化

我来回复

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