import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int arr[]= {1,1,1,2,2,2,3,3,3,8};
int len=arr.length;
//几个重复的数
int k=3;
//定一个二维数组存放每个数所转的进制码
char a[][]=new char[len][];
//定一个进制存放的最大长度
int max=0;
for(int i=0;i<len;i++) {
a[i]=new StringBuilder(Integer.toString(arr[i], k)).reverse().toString().toCharArray();
if(a[i].length>max) {
max=a[i].length;
}
}
//不进制加法
int res[]=new int [max];
for(int i=0;i<len;i++) {
for(int j=0;j<max;j++) {
if(j>=a[i].length) {
res[j]+=0;
}
else {
res[j]=res[j]+(a[i][j]-'0');
}
}
}
int output=0;
for(int i=0;i<max;i++) {
output+=(res[i]%3)*(int)(Math.pow(k, i));
}
System.out.println(output);
}
}
【蓝桥杯】一个数出现一次,其他数出现k次,找出出现一次的这个数
最新推荐文章于 2024-07-23 15:46:40 发布