主题:急!编程填空题
英子
[专家分:50] 发布于 2005-12-07 19:57:00
找出1到100中所有满足条件的整数K,K应满足的条件是:K的平方值由左右称的数字组成(一位数亦认为是左右对称)如K=11,则K的平方等于121是左右对称
DIM a(1 to 4)
for k%=1 to 99
m%=k%*k%
i=0
while m%
i=i+1
a(i)=m% mod 10
m%=[u] [/u]
wend
j=1
while [u] [/u]amd j<i
j=j+1
i=i-1
wend
if [u] [/u] then print k%.
next k%
print
end
帮忙补充完整,并加以解释吧,谢谢了
回复列表 (共5个回复)
沙发
moz [专家分:37620] 发布于 2005-12-07 20:49:00
第一个空格: m%=m%\10
这个循环的目的是把 m% 的各位数字放到数组 a%(1 to 4) 中去,
以便下面程序的利用。
第二个空格: while a%(i)=a%(j) and j<i
这个循环的目的是为了检查数值是否前后对称。
第三个空格: if j>=i then print k%
这是数值前后对称的标志。
板凳
moz [专家分:37620] 发布于 2005-12-07 20:49:00
for k%=1 to 99
a$=rtrim$(ltrim$(str$(k%*k%)))
l%=len(a$)
for i%=1 to l%\2
if mid$(a$,i%,1)<>mid$(a$,l%-i%+1,1) then exit for
next
if i%>l%\2 then print k%
next
3 楼
moz [专家分:37620] 发布于 2005-12-07 20:59:00
for k% = 1 to 99
s% = k% * k%
p% = int(log(s%) / log(10)) + 1
for i% = 1 to p% \ 2
if s%\(10^(i%-1))mod 10<>s%\(10^(p%-i%))mod 10 then exit for
next
if i% > p% \ 2 then print k%;
next
4 楼
moz [专家分:37620] 发布于 2005-12-07 21:03:00
for k% = 1 to 99
a$ = str$(k% * k%)
b$ = ""
for i% = 1 to len(a$)
b$ = mid$(a$, i%, 1) + b$
next
if val(b$) = k% * k% then print k%;
next
5 楼
moz [专家分:37620] 发布于 2005-12-10 21:52:00
for k% = 1 to 99
a% = k% * k%
b%=0
do while a%
b%=b%*10+a% mod 10
a%=a%\10
loop
if b% = k% * k% then print k%;
next
我来回复