您的位置:首页 > 其它

[0608] Noip2011 普及组 Problem 1数字反转

2012-06-08 19:05 267 查看
题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形
式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
【数据范围】
-1,000,000,000 ≤ N≤ 1,000,000,000。
输入格式
输入共 1 行,一个整数N。
输出格式
输出共 1 行,一个整数,表示反转后的新数。
Simple input & output
123
321

双题解:

一个是纯变量,一个是字符串做的,很显然字符串支持高精度,所以字符串很优越。

var n:longint;
begin
readln(n);
if n<0 then write('-');
n:=abs(n);
if n=0 then write(0) else begin
while (n mod 10=0) do n:=n div 10;
while n>0 do begin
write(n mod 10);
n:=n div 10;
end;
end;
end.

var s:string;
i,len:longint;
begin
readln(s);
if s[1]='-' then
begin
write('-');
delete(s,1,1);
end;
len:=length(s);
while (s[len]='0')do dec(len);
for i:= len downto 1 do write(s[i]);
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: