洛谷P1307 数字反转
来源:互联网 发布:linux设置终端大小 编辑:程序博客网 时间:2024/06/09 18:47
题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入输出格式
输入格式:输入文件名为reverse.in 。
输入共1 行,一个整数 N。
输出格式:输出文件名为reverse.out 。
输出共1行,一个整数,表示反转后的新数。
输入输出样例
输入样例#1:
123
输出样例#1:
321
输入样例#2:
-380
输出样例#2:
-83
说明
数据范围
-1,000,000,000≤ N≤ 1,000,000,000 。
noip2011普及组第一题
WriteUp:
参考AC代码:
用队列进行输出:
#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <queue>using namespace std;int main(void){int a;int flag = 0;queue<int> que;scanf("%d",&a);if (a>0){flag = 0;}else if (a==0){printf("0");return 0;}else{flag = 1;a = -a;}while (a!=0){if (a%10==0 && que.size()==0){a /= 10;continue;}que.push(a%10);a /= 10;}if (!flag){while (!que.empty()){printf("%d",que.front());que.pop();}}else{printf("-");while (!que.empty()){printf("%d",que.front());que.pop();}}return 0;}
使用数字反转公式(简单):
#include <cstdio>#include <iostream>#include <cmath>#include <cstdlib>using namespace std;int main(void){int num;int ans = 0;scanf("%d",&num);//reverse process beginwhile(num){ans *= 10;ans += num%10;num /= 10;}//endprintf("%d",ans);return 0;}
阅读全文
0 0
- 【洛谷】P1307 数字反转
- 洛谷 P1307 数字反转
- 洛谷 P1307 数字反转
- 洛谷P1307 数字反转
- 【模拟】洛谷 P1307 数字反转
- P1307 数字反转 luogu
- P1307 数字反转
- P1307数字反转
- P1307 数字反转
- <NOIP> 9 . P1307 数字反转
- 洛谷P1307
- 洛谷p1307
- P1307
- 数字反转
- 数字反转
- 反转数字
- 数字反转
- 数字反转
- 在oracle下触发器实现主键自增
- 传值调用与引用调用
- 解决Integer.parseInt(String str)的异常(NumberFormatException)方法
- 开始正经谈谈数字资产量化交易
- Android UI--简单的多级导航菜单的做法之一
- 洛谷P1307 数字反转
- java基础
- Python 字符串类型定义及常用函数
- The First Time To Learning The Serverlet.
- select中option的简单控制
- PhpStorm2017.1版激活方法、汉化方法以及界面配置
- Windows下配置Apache+python cgi
- 观察者模式与推拉模型
- redis的 rdb 和 aof 持久化的区别