10.11美团的编程题
发布于 2017-10-11 22:09 1746 次浏览 0 赞 来自 我要提问  

美团的编程题,两个都不对,不太清楚为什么,求大佬看看为什么

  1. 计算s%3,余数是1,输出1212一共输出s/n*2+1个1或者2,余数是0,输出2121,一共输出s/n*2,余数是2,输出2121,一共输出s/n*2+1个。


  2. Scanner scanner = new Scanner (System.in);

  3. while(scanner.hasNext()){

  4. int s = scanner.nextInt();

  5. int a = s % 3;

  6. int n = s / 3;

  7. if(a == 0) {

  8. for(int i = 0; i < n*2; i ++){

  9. if(i % 2 == 0){

  10. System.out.print(2);

  11. }

  12. else{

  13. System.out.print(1);

  14. }

  15. }

  16. }

  17. else if(a == 2){

  18. for(int i = 0; i < n*2+1; i ++){

  19. if(i % 2 == 0){

  20. System.out.print(2);

  21. }

  22. else{

  23. System.out.print(1);

  24. }

  25. }

  26. }

  27. else{

  28. for(int i = 0; i < n*2+1; i ++){

  29. if(i % 2 == 0){

  30. System.out.print(1);

  31. }

  32. else{

  33. System.out.print(2);

  34. }

  35. }

  36. }

  37. }

  38. System.out.println();

  39. }

  40. 逆序输出m个调整的数,用数组标记是否已经输出过,对于其他没有输出的按顺序输出。

    不知道有什么问题,都没有过。

1 条回复

逆序输出你要考虑输入的数可能存在重复的情况

2017-10-12 18:50
添加回复
回到顶部