美文网首页
今日头条2017笔试题:出专辑

今日头条2017笔试题:出专辑

作者: Switchhh | 来源:发表于2018-08-20 10:59 被阅读32次

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

while(input = readline()){
  var lines = input.split(" ");
  var n = parseInt(lines[0]);
  var s = parseInt(lines[1]);
  var L = parseInt(lines[2]);
  var x;  //设每张CD收录x首歌
  x=(L+1)/(s+1);
  x = Math.floor(x);  //求出x
  var ans = Math.ceil(n/x);  //求出非特殊条件下的结果
  if( x%13 == 0 ){
    x = x-1;  //如果x是13倍数,那么每张CD都要少收录1首
    ans = Math.ceil(n/x);
  }
  if( n < x && n%13 == 0 ){
    ans = 2;//如果仅需要一张CD但是收录了13倍数的歌曲需要加一张,如“13 0”
  }
  if( (n-(ans-1)*x)%13 == 0 && x-(n-(ans-1)*x) == 1 ){
    //如果最后一张CD是13的倍数【(n-(ans-1)*x)%13 == 0】,可以把前一张拿过来一首,但是拿过来后前一张又可能会是13的倍数
    //这时候也需要再加一张CD,比如这样的情况“14 14 13” “27 27 27 26”
    //这样情况的条件是最后一个必须比前一个少1【x-(n-(ans-1)*x) == 1】
    //所以满足上述两项条件的时候总CD需要加1
    ans += 1;
  }
  print(ans);
}

相关文章

  • 今日头条2017笔试题:出专辑

    你作为一名出道的歌手终于要出自己的第一份专辑了,你计划收录 n 首歌而且每首歌的长度都是 s 秒,每首歌必须完整地...

  • 今日头条笔试面试大全

    整理了一下今日头条往届笔试面试题,希望对大家有帮助: 来源:今日头条笔试面试圈>> 1、2018今日头条校招算法方...

  • 今日头条试题

    1.你如何理解P值,它的限制是什么。 P值是指原假设为真时所得到的更极端结果出现的概率。如果P值很小,说明这种情况...

  • 面试题(同步,异步)

    ``` // 今日头条面试题 async function async1() { console.log('a...

  • 今日头条笔试题

    第一题 题面【深搜,搜索有多少个连通区域】: 世界杯球场,能容纳M*N个球迷。官方想统计观众中有多少个球队的球迷群...

  • 今日头条笔试题

    1 postion:absolute和relative区别 2 boxing-size有几个属性,应用场景是什么?...

  • 即兴临屏《今日头条》(542)

    即兴临屏《今日头条》(542) 出句:鸡饥争豆斗,【今日头条】 对句:鼠暑卧梁凉。【楚水之湄】 出句:雨晴山染翠,...

  • 今日头条面试题

    看到两道今日头条的面试题[1],尝试做了下,在这里整理下思路。 String Shifting naive 的方法...

  • 今日头条面试题

    二维数组螺旋打印 def rotate(matrix): m,k,count=len(maxtrix),0,1...

  • 今日头条面试题

    1、kvo底层实现cell中一个点赞功能如果用kvo需要注意什么?(提示涉及cell复用问题) 关于TableVi...

网友评论

      本文标题:今日头条2017笔试题:出专辑

      本文链接:https://www.haomeiwen.com/subject/epukiftx.html