出专辑

弄了好久才通过 要加while(){}

链接:https://www.nowcoder.com/questionTerminal/66aa4aada59e4da5aac67cacc8b495a2
来源:牛客网

你作为一名出道的歌手终于要出自己的第一份专辑了,你计划收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完整地收录于一张 CD 当中。每张 CD 的容量长度都是 L 秒,而且你至少得保证同一张 CD 内相邻两首歌中间至少要隔 1 秒。为了辟邪,你决定任意一张 CD 内的歌数不能被 13 这个数字整除,那么请问你出这张专辑至少需要多少张 CD ?

while(line=readline()){
    var lines = line.split(' ');
    var a = parseInt(lines[0]);
    var b = parseInt(lines[1]);
    var c = parseInt(lines[2]);

function numcd(n,s,l){

    var pernum=parseInt((l+1)/(s+1))>n?n:parseInt((l+1)/(s+1));//每张CD放pernum首歌
 
    if(pernum%13==0){
    	pernum=pernum-1;}

        var num=Math.ceil(n/pernum);//n首歌放num张CD里 已经向上取整了  n%pernum 剩下没放进去的歌
       if((n%pernum!=0)&&(n%pernum)%13==0&&(n%pernum)==pernum-1) //如果剩下的歌能被13整除 而且正好比原来的数量少1 不能借用前一张里的歌 那么就+1 
         {num=num+1;}      
                   
    return num;
}
     print(numcd(a,b,c));
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值