【4月5日腾讯技术岗笔试第二题,求大神指点~】

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);     
        System.out.println("请输入歌曲长度k:");        
        int k = in.nextInt();
        int [] a = new int [4];
        System.out.println("请依次输入A,X,B,Y的值");
            for(int i=0;i<4;i++){
                a[i]=in.nextInt();
            }        
        int A = a[0];
        int x = a[1];
        int B = a[2];
        int y = a[3];
        int sum = test(k,A,x,B,y);
        int result = sum % 1000000007;
        System.out.println(result);  
    }
    public static int test(int k,int A,int x,int B,int y){
        int count = 0;
        for(int i=0;i<=x;i++){
            for(int j=0;j<=y;j++){
                if(i*A+j*B==k){
                    count = test2(x,i)*test2(y,j);
                    break;
                }
            }
        }
          return count;
               
    }   
    public static int test2(int m,int k){
        for(int i=1;i<k;i++){
            m = m * (m - i);
        }
        return m;        
    }       
}
#实习##笔试题目##腾讯#
全部评论
我的思路和你的差不多,你通过了多少?
点赞
送花
回复
分享
发布于 2018-04-05 21:43
你假设i的之后,就可以去计算有没有j了,而不需要双重循环了的
点赞
送花
回复
分享
发布于 2018-04-05 22:21
网易互娱
校招火热招聘中
官网直投
你这太暴力了。。
点赞
送花
回复
分享
发布于 2018-04-06 18:40

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务