HDOJ 1266 Reverse Number(数字反向输出题)
Problem Description
Welcome to 2006’4 computer college programming contest!
Specially, I give my best regards to all freshmen! You are the future of HDU ACM! And now, I must tell you that ACM problems are always not so easy, but, except this one… Ha-Ha!
Give you an integer; your task is to output its reverse number. Here, reverse number is defined as follows:
1. The reverse number of a positive integer ending without 0 is general reverse, for example, reverse (12) = 21;
2. The reverse number of a negative integer is negative, for example, reverse (-12) = -21;
3. The reverse number of an integer ending with 0 is described as example, reverse (1200) = 2100.
Input
Input file contains multiple test cases. There is a positive integer n (n<100) in the first line, which means the number of test cases, and then n 32-bit integers follow.
Output
For each test case, you should output its reverse number, one case per line.
Sample Input
3
12
-12
1200
Sample Output
21
-21
2100
注意:前导0的情况!
例:
输入:
3
-0012560020
00000
00205
输出为:
-2006521
0
502
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while (t-- > 0) {
String str = sc.next();
int instr = Integer.parseInt(str);
//System.out.println(instr);
str = Integer.toString(instr);
//System.out.println(str);
if (str.charAt(0) == '-') {
System.out.print("-");
int k = 0;
boolean isOne=false;
//System.out.println(str.length()+"aaa");
for (int i = str.length() - 1; i >= 1; i--) {
//System.out.println("a: "+str.charAt(i));
if(str.charAt(i)!='0'&&!isOne){
//System.out.println("++ "+str.charAt(i));
isOne=true;
}
if (isOne) {
System.out.print(str.charAt(i));
k++;
}
}
for (int i = 1; i < str.length() - k; i++) {
System.out.print(0);
}
System.out.println();
} else {
int k = 0;
boolean isOne=false;
for (int i = str.length() - 1; i >= 0; i--) {
if(str.charAt(i)!='0'&&!isOne){
isOne=true;
}
if (isOne) {
System.out.print(str.charAt(i));
k++;
}
}
for (int i = 0; i < str.length() - k; i++) {
System.out.print(0);
}
System.out.println();
}
}
}
}
HDOJ 1266 Reverse Number(数字反向输出题)的更多相关文章
- hdu 1266 Reverse Number
题目 一道水题,但是超时了几次(Time Limit Exceeded) 题中说:then n 32-bit integers follow.私以为可以用int来做,结果就一直超时,博客之,发现全是用 ...
- 水题 HDOJ 4727 The Number Off of FFF
题目传送门 /* 水题:判断前后的差值是否为1,b[i]记录差值,若没有找到,则是第一个出错 */ #include <cstdio> #include <iostream> ...
- Reverse Key Indexes反向索引
Reverse Key Indexes反向索引A reverse key index is a type of B-tree index that physically reverses the by ...
- reverse(两种反向生成url django原生形式和rest_framework中版本的形式)
reverse(两种反向生成url django原生形式和rest_framework中版本的形式) views.py from django.shortcuts import render,Http ...
- Python Number(数字) Ⅰ
Python Number(数字) Python Number 数据类型http://www.xuanhe.net/用于存储数值. 数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的 ...
- javaScript中Number数字类型方法入门
前言 Number和Math都属于JavaScript中的内置对象,Number数字类型作为基础数据类型,我们在开发过程中会经常用到,包括数字精度的格式化,还有字符串转换成数字等操作. Number数 ...
- HDOJ 1755 - A Number Puzzle 排列数字凑同余,状态压缩DP
dp [ x ] [ y ] [ z ] 表示二进制y所表示的组合对应的之和mod x余数为z的最小数... 如可用的数字为 1 2 3 4...那么 dp [ 7 ] [ 15 ] [ 2 ] = ...
- javascript类型系统——Number数字类型
× 目录 [1]定义 [2]整数 [3]浮点数[4]科学记数[5]数值精度[6]数值范围[7]特殊数值[8]转成数值[9]实例方法 前面的话 javascript只有一个数字类型,它在内部被表示为64 ...
- js中Number数字数值运算后值不对
问题: 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两 ...
随机推荐
- [C#技术] .NET平台开源JSON库LitJSON的使用方法
一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemi ...
- hdu 2844
本题的特殊性是价值与重量相等 将第i种物品分成若干件物品,其中每件物品有一个系数, 这件物品的费用和价值均是原来的费用和价值乘以这个系数. 使这些系数分别为1,2,4,…,2^(k-1),n[i]-2 ...
- 更改navigationController push和pop界面切换动画
For Push: MainView *nextView=[[MainView alloc] init]; [UIView beginAnimations:nil context:NULL]; [UI ...
- nginx+keepalived实现nginx双主高可用的负载均衡
http://kling.blog.51cto.com/3320545/1253474 一.前言: 在互联网上面,网站为用户提供原始的内容访问,同时为用户提供交互操作.提供稳定可靠的服务,可以给用户带 ...
- PHP的魔术方法(简介)
public void _set(string $name,mixed $value) public mixed _get(string $name) public bool _isset(strin ...
- Gamit的安装
--2017-1-6修正 我这里用的是Gamit10.5,系统是Ubunt 14. 1:获取root权限(仅针对装好Ubunt后没有修改过root密码的用户,如果修改过密码,但是忘掉了,则请进入单用户 ...
- MediaPlayer+SurfaceView 视频播放 示例
SurfaceView的原理 SurfaceView在视频播放中起到显示画面的作用,而视频的播放主要通过MediaPlayer来控制. SurfaceView 允许我们 ...
- 让页脚footer永远固定在页面的底部,而不是永远固定在显示器屏幕的底部的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 修改SELinux设置,使vsftp在enforcing security enhance模式下正常运行
开了SELinux和防火墙,没想到引出了vsftp的问题.FTP登录报错:500 OOPS: cannot change directory.下面来看看产生这个问题的原因和对策. 首先,分析一下冲突原 ...
- 安卓手机内外SD卡互换
相信有許多人....有內置sd太小...外置sd(sdcard2或extsd)卻只能放資料.... 一些遊戲或者是影音播放軟體....根本不會去讀外置sd(sdcard2或extsd)..... 記憶 ...