n-1位数[java]

原创 2016年08月31日 12:42:45
描述

已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。

输入
第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。
输出

输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。


这道题主要有以下几个要克服的

1.怎样求的输入的数是几位,这里采用的是输入一个字符串,然后把字符串转为字符数组,可以求的字符数组的长度

2.怎样判断最高位后面的数字是不是0以及要排除不是0的数字后面又是0的情况,这里采用的判断条件有两个,首先也是最基本的是要求的数有几位0,然后定义一个布尔变量,初始化为true,当有非零位时让布尔变量为false

3.这个数中有几个0 ,需要进行计数,当这个数全是0的时候需要输出0

4.因为要输出非0 的数,所以可以在循环中一个一个输出,但为了避免输出0,所以就要当2中的两个条件达成时,就要跳出本次循环,使用continue

5.由于计算的是n-1位数,所以在计算0 的总个数的变量的初始化是1,遍历这个字符串时从1开始就行了


具体代码如下

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		while(m--!=0) {
			String n = sc.next();
			char [] c = n.toCharArray();
			int count = 1;
			boolean flag = true;
			for (int i = 1; i < c.length; i++) {
				if (flag && c[i]=='0') {
					count++;
					continue;
				}
				System.out.print(c[i]);
				flag = false;
			}
			if (count == c.length) {
				System.out.println('0');
			} else {
				System.out.println();
			}
		}
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指Offer面试题12:打印1到最大的n位数 Java实现

题目:打印1到最大的n位数           输入数字n,按顺序打印出从1到最大n位十进制数。比如输入n = 3,则打印出1,2,3……999. 算法分析: 如果我...

打印1到最大的n位数(Java实现)

本题为剑指offer面试题12 package offer.day421; public class Demo1 { public static void main(St...

打印1到最大的n位数(java)

题目: 输入数字n,按顺序打印出1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。 思路: (这个题看了半天才看懂书上的代码,/(ㄒoㄒ)/~~) 注意要考虑大数。 ...

边看边写(打印1到最大的n位数)

注:之前写了使用大数打印的方法 #region 打印1到最大的n位数 /// /// 输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大...

【编程题目】Pq.7--打印1到最大的n位数(关于大数问题的探讨)

一、题目描述 输入数字n,按顺序打印从1到最大的n位数。比如输入3,则依次打印1、2、3一直到最大的3位数999....

面试题12:打印1到最大的n位数-大数问题-递归实现多层循环

#include #include #include #include #include #include #include using namespace std; void p...

输出1到最大的N位数(运算)

题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。     分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。应聘者在解...

65.输出1到最大的N位数(运算)

65.输出1到最大的N位数(运算) 题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3, 则输出1、2、3一直到最大的3位数即999。 分析:这是一道很有意思的题目。看起来很简单,...

打印1到最大的n位数:大数问题,全排列实现

大数,全排列

程序员面试题精选100题(38)-输出1到最大的N位数[算法]

作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即9...
  • JDPlus
  • JDPlus
  • 2014年02月17日 11:56
  • 868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:n-1位数[java]
举报原因:
原因补充:

(最多只允许输入30个字)