题目名称 623. [NOIP 2011]数字反转
输入输出 reverse.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2011-11-26加入
开放分组 全部用户
提交状态
分类标签
NOIP/CSP 基本
分享题解
通过:680, 提交:1338, 通过率:50.82%
GravatarTA 100 0.000 s 0.00 MiB Pascal
GravatarLOSER 100 0.000 s 0.00 MiB C++
GravatarSPA 100 0.000 s 0.00 MiB C++
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatar风吹我已散 100 0.000 s 0.00 MiB C++
GravatarHakurou! 100 0.000 s 0.00 MiB C++
Gravataraccepted 100 0.000 s 0.00 MiB C++
Gravataraccepted 100 0.000 s 0.00 MiB C++
Gravataraccepted 100 0.000 s 0.00 MiB C++
Gravataraccepted 100 0.000 s 0.00 MiB C++
本题关联比赛
20131028(普及)
河南大学2015级新生测试
防止颓废的小练习v0.15
关于 数字反转 的近10条评论(全部评论)
回复 @ShallowDream雨梨 :
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int a,b=0;
freopen("reverse.in","r",stdin);
freopen("reverse.out","w",stdout);
cin>>a;
while (a!=0){
b=b*10+a%10;
a/=10;
}
cout <<b;
}
短不短?AC!!
Gravatar夜莺
2019-06-24 07:34 23楼
一遍就AC了
Gravatar观、一世沧桑如画
2018-10-02 08:28 22楼
回复 @2018noip必胜! :
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
freopen("aplusb.in","r",stdin);
freopen("aplusb.out","w",stdout);
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
呵呵
Gravatardududu
2018-09-26 20:22 21楼
渣渣程序#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main(void)
{ freopen("reverse.in","r",stdin);
freopen("reverse.out","w",stdout);
long long n = 0;int a[11]={0};
cin>>n;
if(n<0){
cout<<"-";n=-n;}
for(int i = 1;i++;)
{ if(a[i-1]==0&&n%10==0){a[i]=n%10;
n = n/10;continue;}
else{ a[i]=10;
cout<<n%10;n = n/10;if(n==0)break;
}
}
}我的该是最短了的吧
Gravatar2018noip必胜!
2018-09-15 20:29 20楼
用int做的,没用字符串
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
using namespace std;
int main(){
freopen("reverse.in","r",stdin);
freopen("reverse.out","w",stdout);
long long int n,n1,n2;
int a[12],t=0,t1=0;
cin>>n;
if(n<0) cout<<'-';
n=abs(n);
n2=n;
n1=n;
for(int i=1;;i++)
{n=n/10;
t++;
if(n==0) break;}
for(int i=1;i<=t;i++)
{a[i]=n1%10;
n1=n1/10;}
for(int i=1;;i++)
{if(n2%10==0) t1++;
n2=n2/10;
if(n2%10!=0) break;}
for(int i=1+t1;i<=t;i++)
cout<<a[i];
return 0;
}
很渣的程序 0.003s,仅供参考
GravatarShallowDream雨梨
2017-11-13 21:21 19楼
勾起了我初学OI时的回忆..........
GravatarJustWB
2017-09-16 10:33 18楼
菜鸟提供的方案
Gravatarhzoi2017_nzy
2017-08-10 22:20 17楼
guoshiju真的丑
Gravatar辣是辣条君~
2017-04-20 20:56 16楼
放了3个月没做。。。我简直sb
GravatarkZime
2017-03-23 15:10 15楼
没用字符串,他居然用负数坑我。
GravatarTbnlkegc
2017-01-09 19:21 14楼

623. [NOIP 2011]数字反转

☆   输入文件:reverse.in   输出文件:reverse.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

【输入格式】

输入共1 行,一个整数N。

【输出格式】

输出共1 行,一个整数,表示反转后的新数。

【输入样例1】

123

【输出样例1】

321

【输入样例2】

-380

【输出样例2】

-83

【数据范围】

-1,000,000,000 ≤ N≤ 1,000,000,000。