首页 > 代码库 > 笔试-下蹲-java实现
笔试-下蹲-java实现
美团内推笔试编程题:有5个人,编号1,2,3,4,5,裁判叫号叫到1,编号1蹲,叫到2,编号2,3蹲,叫到3,编号4,5,1蹲,以此类推;先选定一个人编号p,判断该人在每次叫号时蹲不蹲,蹲输出Y,不蹲输出N
思路:用两个int型记录应该下蹲的起始和末尾的编号,分别为m,n
1.当p>=m&&p<=n时,说明p在m,n之间
2.累次之后也就是叫号累加超过5了就会出现如:要4,5,1蹲的情况,此时p>=m&&p<=5&&p>=0&&p<=n;
java代码如下:
1 package test; 2 import java.util.Scanner; 3 4 //有5个人,编号1,2,3,4,5,裁判叫号叫到1,编号1蹲,叫到2,编号2,3蹲,叫到3,编号4,5,1蹲,以此类推 5 public class UpAndDown { 6 public static void Down(int p,int[] a){ 7 int sum =0; 8 for(int i=0;i<a.length;i++){ 9 int m = (sum+1+5)%5;10 //有可能出现m为0的情况,但m不可能为0,此时m应该是5,所以特殊处理,n同理11 if(m==0)12 m=5;13 int n = (sum+a[i])%5;14 if(n==0)15 n=5;16 sum+=a[i];17 if(m<=n){18 if(p>=m&&p<=n){19 System.out.println("Y"+" ");20 }else{21 System.out.println("N"+" ");22 }23 }else{24 if(p>=m&&p<=5&&p>=0&&p<=n){25 System.out.println("Y"+" ");26 }else{27 System.out.println("N"+" ");28 }29 }30 31 }32 }33 34 public static void main(String[] args) {35 // TODO Auto-generated method stub36 Scanner in=new Scanner(System.in);37 int p=in.nextInt();38 int q=in.nextInt();41 int [] a=new int[q];42 for (int i = 0; i < q && in.hasNext(); i++) {43 a[i] = in.nextInt();44 }45 // in.close();46 Down(p,a);47 // in.close();48 }49 50 }
运行结果:
3 61 2 3 4 4 3N Y N Y Y N
笔试-下蹲-java实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。