题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入输出格式
输入格式:
一个整数 NN
输出格式:
一个整数,表示反转后的新数。
输入输出样例
输入样例#1: 复制
123
输出样例#1: 复制
321
输入样例#2: 复制
-380
输出样例#2: 复制
-83
说明
数据范围
-1,000,000,000≤N≤1,000,000,000−1,000,000,000≤N≤1,000,000,000。
noip2011普及组第一题
C++
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<string>
using namespace std;
int main()
{
string s;
long x;
cin>>x;
s=to_string(x);
if(s=="0")
{
cout<<0;
return 0;
}
if(s[0]=='-')
{
cout<<'-';
s.erase(s.begin(),s.begin()+1);
}
reverse(s.begin(),s.end());
for(int i=0;s[i]=='0';i++)
{
s[i]='i';
}
for(int i=0;i<s.length();i++)
{
if(s[i]!='i')
cout<<s[i];
}
return 0;
}
Python:
x=input()
x=int(x)
s=str(x)
if s=="0":
print(0)
else:
if s[0]=='-':
s=s[1:]
print('-',end='')
s=list(s)
s.reverse()
s1="".join(s)
x=int(s1)
print(x)