import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
while(true)
{
int n = sc.nextInt();
if(n==0)//---------------------如果输入0;结束
break;
int temp[]=new int [n];//-------------全设为0,需要删除就变成1;
int arr[]=new int[n];//-------------原数列
for(int i=0;i<temp.length;i++)//-------------遍历
{
temp[i]=0;
arr[i]=sc.nextInt();
}
Arrays.sort(arr);//-------------排序
for(int i=0;i<arr.length;i++)//-------------功能:循环判断第i位和第x位是否符合相关数
for(int x=i;x<arr.length;x++)
{
if(i==x) //-------------
continue;
if(judge( arr[i],arr[x]))//功能:如果符合,将temp[i]temp[x]=1变成1;模拟删除
{
temp[i]=1;
temp[x]=1;
}
}
int sum=0;//-------------记录temp有几个留下的数
for(int i=0;i<arr.length;i++)//-------------输出未删除的数
{
if(temp[i]==0)//-------------是0就是留下的
{
sum++;
System.out.print(arr[i]+" ");//把留下的输出
}
}
if(sum==0)//-------------如果留下的数的数量为0,则输出None
System.out.print("None");
System.out.println();
}//--------------------------------while结束
}
public static boolean judge(int a,int b)//-------------功能:判断是否符合相关数
{
char arra[]=String.valueOf(a).toCharArray();//-----把输入的整数转换成字符
char arrb[]=String.valueOf(b).toCharArray();
if(arra.length!=arrb.length)//----------------------判断字符长度,不相等直接false
return false;
else{//-------------------------------------------长度相等的话
int sum=0;
for(int i=0;i<arra.length;i++)
for(int x=0;x<arrb.length;x++)//------------------列如:4 3 5 - 3 5 4
if(arra[i]==arrb[x])//----------相等的话变成a: a 3 5 - 3 5 a 继续循环
{
sum++;//----------记录变了几次
arra[i]='a';
arrb[x]='a';
break;
}
if(sum==arrb.length) //-----------------如果全变输出true
return true;
return false;
}
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:368 |
简单的a+b (C语言代码)浏览:661 |
【计算直线的交点数】 (C语言代码)浏览:1501 |
幸运数 (C++代码)浏览:1309 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:569 |
简单的a+b (C语言代码)浏览:572 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:571 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1496 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:839 |
简单的a+b (C语言代码)浏览:857 |