主题:请教一道关于回文数的题目??
5lemon
[专家分:0] 发布于 2006-09-09 11:03:00
有这么一道题目:
11,323,74947,63144136这样的数叫回文数,它们的特点是最高位,最低位的数相同,次高位,次低位相同,...其中11更是个特殊的回文数,它的平方121,立方1331也是回文数.这是最小的一个具有这种性质的回文数.请编程序,找出三次方小于999999999的具有上述性质的所有回文数.
本人不才,请帮忙!
回复列表 (共2个回复)
沙发
interegg [专家分:80] 发布于 2006-09-09 21:00:00
很简单的:
var
i:integer;
function p(i:longint):boolean;
var
a:array[1..9] of integer;
x:longint;
j,j:integer;
b:boolean;
begin
fillchar(a,sizeof(a),0);
j:=10;
x:=11;
while x>0 do
begin
j:=j-1;
a[j]:=x mod 10;
x:=x div 10;
end;
n:=(10-j) div 2 ;
b:boolean;
for k:=1 to n do
if a[k+j-1]<>a[10-k] then
b:true;
if not b then
p:=true
else p:=false;
end;{p}
begin
write(11,' ');
for i:=12 to 999 do
if (p(i)) and (p(i*i)) and (p(i*i*i)) then
write(i,' ');
end.
问一下你是不是嵊州城关中学的?
板凳
5lemon [专家分:0] 发布于 2006-09-10 10:16:00
谢谢了!我不是嵊州城关的。
我来回复