首页 > 试题广场 >

最小数位和

[编程题]最小数位和
  • 热度指数:3253 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
定义,表示在十进制下的各位数字和。
现在给定一个,请你求出最小正整数,满足.

输入描述:
第一行数据组数,对于每组数据,一行一个数字



输出描述:
对于每组数据,一行一个整数表示最小的
示例1

输入

2
7
9 

输出

7
9
示例2

输入

2 
13
18

输出

49  
99
var n = parseInt(readline())
while (n--) {
var x = parseInt(readline())
print(test(x))
}

function test(x) {
var num = Math.floor(x / 9)
var rest = x % 9;
var res = ''
for (var i = 0; i < num; i++) {
res += 9
}
if (rest !== 0) {
res = rest + res;
}

return res //返回字符串就行了

}
编辑于 2020-04-11 16:00:35 回复(0)
var n = parseInt(readline())
var arr = []
while(n > 0){
  var tmp = parseInt(readline())
  arr.push(tmp)
  n--
}
function foo(arr){
  var res = []
  for(var i = 0;i < arr.length;i++){
    var k = Math.floor(arr[i]/9) // 计算9有多少位,13/9 = 1 18/9=2 24/9=2
    var k1 = arr[i] % 9 // 最小数位和肯定是将余数放在最高位,其他位都是9
    var str = ''
    if(k1!==0){
        str+=`${k1}`
    }
    for(var j = 0;j < k;j++){
      str+='9'
    }
    res.push(str) // 49 99 699
  }
  return res
}
var res = foo(arr)
for(var i = 0; i< res.length;i++){
    console.log(res[i])
}

发表于 2020-04-05 22:35:41 回复(1)