素材牛VIP会员
每日一题:一 石头 ----- 这里注重算法和效率
 Fo***ou  分类:PHP代码  人气:1121  回帖:4  发布于6年前 收藏

比较无聊的一天,小明决定列举了一大堆石头。他先数了数石头,发现堆里有几块石头,然后到商店去买标签。每一个标签都是从0到9的数字,每一个石头都应该分配一个唯一的数字,从1到N。如果每个标签的成本是1美元,小明会花多少钱在这个项目上?

function rocks(int $n): int {
  return ;
}

其中:

$n为石头数,且$n为大于1的正整数
返回为需要的成本

例子:

小明发现了13块石头:
则石头上的数字为:
1,2,3,4,5,6,7,8,9,10,11,12,13
所需要的标签为:
1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3
所需要的成本为:
17

祝君好运!

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv1 新人
何***孽 软件测试工程师 6年前#1
function rocks(a) {
  var str = '';
  for(var i=1; i<=a; i++){
    str += i;
  }
  return str.length;
}
rocks(13);
Lv2 入门
xi***iu JS工程师 6年前#2

$arr=[1,6,9,99,884];
$str=implode('',$arr);//16999884
echo strlen($str);

Lv1 新人
Al***ay 职业无 6年前#3
function rocks(num) {
        var result = num, j = "";
        if(result <= 9) {
            return result;
        }
        result = 9;
        for(var i = 10; i <= num; i++) {
            j = i.toString();
            result += j.length;
        }
        return result;
}
Lv5 码农
流***雨 交互设计师 6年前#4

function rocks($n)
{

$spend = 0;
for ($i=1; $i<=$n; $i++) {
    $spend += strlen($i); 
}
return $spend;

}

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取