2015华为机试——计算整数的位数

题目描述:

输入一个五位以内(包括5位)的正整数,(1)判断它是一个几位数;(2)逆序输出其各位数字。

输入:多组数据,每组一行

输出:对应一行输出

样例输入:56439

样例输出:5
93465

解题思路:使用StringBuffer的reverse方法即可。

代码如下:

	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		while (sc.hasNext())
		{
			String input=sc.next();
			String s=String.valueOf(input);
			int len=s.length();
			StringBuffer sb=new StringBuffer(s);
			sb.reverse();
			System.out.print(len+" "+Integer.parseInt(sb.toString()));
		}
		sc.close();
	}

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

时间: 2024-09-29 18:29:02

2015华为机试——计算整数的位数的相关文章

2015华为机试——计算两个正整数的最大公约数和最小公倍数

题目描述: 接口说明 原型: long getMaxDivisor(long lFirstInput, long lSecondInput); 输入参数: int first: 第一个整数; int second: 第二个整数; 返回值: 最大公约数 long getMinMultiple(long lFirstInput, long lSecondInput); 输入参数: int first: 第一个整数; int second: 第二个整数; 返回值: 最小公倍数 解题思路:使用辗转相除法

2015华为机试—— 计算二进制数的0的个数

描述: 输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算.不需要考虑负数的情况. 题目类别:位运算 难度:初级 运行时间限制:无限制 内存限制:无限制 阶段:入职前练习 输入: 要计算的十进制非负数 输出: 二进制中第一个1之后0 的个数 样例输入: 2 样例输出: 1 解题思路: 对于给定的数n,使用位运算:n=n&(n-1)可计算出对应二进制中1的个数,为count1.将input=n,input=input>>1逐个获取input中

华为机试 --- 求最大三位数

题目:输入10位0-9数字,取其中三位不同数字组合,求组合出来的最大三位数. 如输入 1 2 3 4 5 6 7 8 9 0,组合出来987最大. 测试代码如下: #include <stdio.h> #include <stdlib.h> int IsSame(int *a, int num); int main() { int i=0; int j=0; int a[10]={0}; int input =0; int length =0; int temp=0; for (i

2015华为机试——整数分割

题目描述: 一个整数可以拆分为2的幂的和,例如: 7 = 1+ 2 + 4 7 = 1 + 2 + 2 + 2 7 = 1 + 1 + 1 + 4 7 = 1 + 1 + 1 + 2 + 2 7 = 1 + 1 + 1 + 1 + 1 + 2 7 = 1 + 1 + 1 + 1 + 1 + 1 + 1 总共有六种不同的拆分方式 再比如: 4可以拆分成: 4 = 4, 4 = 1+1+1+1, 4 = 2+2, 4 = 1+1+2. 用f(n)表示n的不同拆分的种数,例如f(7) = 6. 要求读

2015华为机试

第一题(60分): 按要求分解字符串,输入两个数M,N:M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0.例如:输入2,8, "abc" ,"123456789",则输出为"abc00000","12345678","90000000" #include<iostream> using namespace std; void solve(char *str , int n , in

2015华为机试——合唱队

描述: 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2-,K,他们的身高分别为T1,T2,-,TK,   则他们的身高满足存在i(1<=i<=K)使得Ti<T2<......<Ti-1<Ti>Ti+1>......>TK. 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可

2015华为机试——尼科彻斯定理

题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和.m属于[1,100],超出范围则报错. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 解题思路:不难发现展开式从(n*n - n + 1)开始,步进2显示,共显示n个数. 代码如下: public static void main(String[] args) { Scanner sc=new Scanner(System.in); while (sc.hasNext()

2015华为机试——高次方数的尾数

题目描述: 求解M的N次方的最后三位数(M,N均大于10). 接口说明 原型: int GetLast3DigitsOfMN(int M, int N); 输入参数: int M:M > 10 int N:N > 10 返回值: M的N次方的最后三位数 解题思路: 思路一:先求M的N次方,然后M^N%1000求最后三位数,但是M的N次方很有可能会溢出,导致输出结果异常或错误. 思路二:思路一不行的话,我们得找到他对应的等效方法,M每乘M就对1000求余,其最后三位数是等效的. 代码如下: pu

2015华为机试—— 整型数排序

要求:请实现对一整型数序列的排序操作. 需求: 1.对输入的整型数序列A,完成升序排列,将结果序列从B中输出.以整数值大小为关键字排序,即小数在前,大数在后. 2.当序列中存在多个同样大小的数时,输出序列中仅保留一个. 举例: 输入序列A:76,92,34,34,59,16,59,45 符合要求的输出序列B:16,34,45,59,76,92 约束: 1.输入的序列至少含有一个整型数,否则应该返回null: 2.输入序列中的整数值使用int类型: 接口说明 /******************