美团的编程题,两个都不对,不太清楚为什么,求大佬看看为什么
计算s%3,余数是1,输出1212一共输出s/n*2+1个1或者2,余数是0,输出2121,一共输出s/n*2,余数是2,输出2121,一共输出s/n*2+1个。
Scanner scanner = new Scanner (System.in);
while(scanner.hasNext()){
int s = scanner.nextInt();
int a = s % 3;
int n = s / 3;
if(a == 0) {
for(int i = 0; i < n*2; i ++){
if(i % 2 == 0){
System.out.print(2);
}
else{
System.out.print(1);
}
}
}
else if(a == 2){
for(int i = 0; i < n*2+1; i ++){
if(i % 2 == 0){
System.out.print(2);
}
else{
System.out.print(1);
}
}
}
else{
for(int i = 0; i < n*2+1; i ++){
if(i % 2 == 0){
System.out.print(1);
}
else{
System.out.print(2);
}
}
}
}
System.out.println();
}
逆序输出m个调整的数,用数组标记是否已经输出过,对于其他没有输出的按顺序输出。
不知道有什么问题,都没有过。