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

题目描述

输入一个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++:

原文地址:https://www.cnblogs.com/zdtiio/p/7570630.html