主题:设计一个程序,判断一个数是不是回文数,
cyj04
[专家分:0] 发布于 2007-01-24 08:10:00
判断一个数是不是回文数(位数大于2)
回复列表 (共7个回复)
沙发
冷石_jasv [专家分:1570] 发布于 2007-01-24 10:50:00
给你个提示
把它变成单个的字符去判断.....可能就变的简单了...遥想当年..我是这样解决的..虽然老师提供了其他的办法
板凳
moz [专家分:37620] 发布于 2007-01-24 12:59:00
办法有很多很多,要你慢慢去分别多去尝试,掌握了不同的方法,分辨不同的效率,技术就到你口袋里去了.
3 楼
cyj04 [专家分:0] 发布于 2007-01-25 08:58:00
多射指点
我编的程序,但多于9位就不好用
我不用很复杂的,只要能运行出结果就可以了
input a,n
if n mod 2 =0 then
m=n/2
else
m=(n-1)/2
end if
i=1
do
b=a mod 10
c = a\10^(n-1)
n=n-2
a=a\10
a=a-c*10^n
i=i+1
loop until b<>c or i>m
if i>m then
ptint "yes"
else
print "no"
end if
end
4 楼
4076254 [专家分:0] 发布于 2007-01-27 09:46:00
我也给LZ个小提醒。
貌似我老师是这样说的.
用左截取函数 截取左边的,然后用中截取函数 从右边第一个开始,一个一个截取,他不是字符穿嘛,然后连接起来就OK了,具体我也没做过.LZ试试
5 楼
Lovely哆啦 [专家分:1360] 发布于 2007-03-26 11:55:00
[em8][em15][em19][em20]
cls
input n$
l=len(n$)
for i=1 to l\2
if mid$(n$,i,1)<>mid$(l+1-i,1) then ? "no":end
next i
print "yes"
end
[em3][em6][em7][em9]
6 楼
小精灵LS [专家分:580] 发布于 2007-03-29 18:56:00
CLS
INPUT N
A$=LTRIM$(STR$(N))
FOR I=1 TO LEN(A$)
A(I)=VAL(MID$(A$,I,1))
NEXT I
FOR I=1 TO LEN(A$)
IF A(I)<>A(LEN(A$)+1-I) THEN F=1
NEXT I
IF F<>1 THEN PRINT "YES" ELSE PRINT "NO"
END
7 楼
hhhchy [专家分:300] 发布于 2007-03-30 16:57:00
cls
input n$
l=len(n$):dim a(l)
for i=1 to l:a(i)=val(mid$(n$,i,1)):next i
for i=1 to l
if a(i)<>a(l+1-i) then print "不是回文数!":end
next i
print "是回文数!"
end
我来回复