华为机试:提取不重复的整数

题目描述

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1

输入

9876673

输出

37689

Java:取巧,提取一个数输出一个数

 1 import java.util.Scanner;
 2
 3 public class Main {
 4
 5     public static void main(String[] args) {
 6         Scanner sc=new Scanner(System.in);
 7         while(sc.hasNext()){
 8             int num=sc.nextInt();
 9             int[] state = new int[10];
10             while(num!=0){
11                 int temp_num= num % 10;
12
13                 if(state[temp_num-1]==0){
14                     System.out.print(temp_num);
15                     state[temp_num-1]=1;
16                 }
17                 num = num/10;
18             }
19             System.out.println();
20         }
21         sc.close();
22     }
23
24 }

Java:将提取出的各个数加到一起进行输出:

 1 import java.util.Scanner;
 2
 3 public class Main {
 4
 5     public static void main(String[] args) {
 6         Scanner sc=new Scanner(System.in);
 7         while(sc.hasNext()){
 8             int num=sc.nextInt();
 9             int[] state = new int[10];
10             int count = 0;
11             int total = 0;
12             while(num!=0){
13                 int temp_num= num % 10;
14
15                 if(state[temp_num-1]==0){
16                     total = total*10 + temp_num;
17                     count++;
18                     state[temp_num-1]=1;
19                 }
20                 num = num/10;
21             }
22             System.out.println(total);
23         }
24         sc.close();
25     }
26 }

C++:

时间: 2024-10-08 19:34:58

华为机试:提取不重复的整数的相关文章

华为机试 提取不重复的整数

题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入 9876673 输出 37689 #include<iostream> #include<vector> using namespace std; int main(){ int num,check[10]={0}; vector<int> noRepeat; cin>

华为机试—提取数字排序

输入多个字符串,分别提取出里面的数字,排序输出所有的数字. #include<iostream> #include<cctype> #include<vector> #include<string> #include<algorithm> using namespace std; vector<int>vec; int main(int argc, char *argv[]) { int n; string s; while(cin&

华为初级——提取不重复的整数

描述:输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 知识点:数组 题目来源:内部整理 练习阶段:初级 运行时间限制:10sec 内存限制:128MByte 输入:输入一个int型整数 输出:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 样例输入:9876673 样例输出:37689 源程序: #include<iostream> using namespace std; int main() { void getNoRepeatNumber(int

华为机试集锦(Java)

题目链接http://blog.csdn.net/hackbuteer1/article/details/11132567 1.字符串过滤 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串“abacacde”过滤结果为“abcde”. 解决:hashset可以解决 2.字符串压缩 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后

2014华为机试西安地区B组试题

2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.开始,电灯全部关着. 有n个学生从长廊穿过.第一个学生把号码凡是1的倍数的电灯的开关拉一下:接着第二个学生把号码凡是2的倍数的电灯的开关拉一下:接着第三个学生把号码凡是3的倍数的电灯的开关拉一下:如此继续下去,最后第n个学生把号码凡是n的倍数的电灯的开关拉一下.n个学生按此规定走完后,长廊里电灯有几盏亮着. 注:电灯数和学生

华为机试在线训练(4)

华为机试在线训练:字符串分隔 题目描述 ?连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组:?长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输入字符串(输入2次,每个字符串长度小于100) 输出描述: 输出到长度为8的新字符串数组 输入例子: abc123456789 输出例子: abc000001234567890000000 代码: 1 import java.util.Arrays; 2 import java.util.Scanner; 3

2014深圳华为机试剖析

题一: (1)给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况.最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7

华为机试(6)

初级题描述:10个学生考完期末考试评卷完成后,A老师需要划出及格线,要求如下:  (1) 及格线是10的倍数:   (2) 保证至少有60%的学生及格:  (3) 如果所有的学生都高于60分,则及格线为60分  (4) 及格线越高越好,但最高不能超过60    输入:输入10个整数,取值0~100   输出:输出及格线,10的倍数   输入样例:61 51 49 30 20 10 70 80 90 99  输出样例:50 解题思路:从高到低枚举及格线,输出第一个满足要求的及格线就是答案 #inc

华为机试-公共字串计算

题目描述题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 输入描述:输入两个字符串 输出描述:输出一个整数 输入例子:asdfas werasdfaswer 输出例子:6 效率低的Java程序实现: import java.ut

2014华为机试西安地区A组试题

2014华为机试西安地区A组试题 题目一.分苹果 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放. 1<=M<=10,1<=N<=10 例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放法 输入 7 3 输出 8 题目分析: 这道题类似于整数划分的题目,这是很早的一道ACM的题目,主要思路就是考递归. ①当苹果数目或者篮子数目为1时候,就只有一种可能 ②当苹果数目小于篮子数目的时候,按照苹果数目来分配 ③当苹果数目大于篮子数目的时候,空一个盘子 + 先每个盘子放