记录牛客js刷题的输入输出以及如何在一行输出多个结果

题目描述

在这里插入图片描述

注意点

牛客网还有赛码平台与力扣网站不同,牛客网和赛码均要求自己获取输入

输入获取

赛码网获取输入为read_line()
牛客网获取输入为readline()

输出以及如何一行输出多个结果

牛客网与赛码均要求print()输出
其中需要注意的是一定要严格按照示例的效果输出,一个空格一个换行都不能错(这里觉得很坑)
举例来说,上面的题目用Js书写的话我一开始写的是如下代码

let come = readline().split(' ')
let n = parseInt(come[0])
let l = parseInt(come[1])


while(l<=100){
    
    let head = ((2*n)-(l*(l-1)))/(2*l)

    let headInt=Math.floor(head)
    if(head==headInt && head>=0){
            for(let i=head;i<head+l;i++){
                 
                print(i)
                }
        
        break
        
    }    
    l+=1
}
if(l==101){
    print('No')
}

最终的运行结果出错
在这里插入图片描述
这里就涉及到一个麻烦的点,在python中使用print的时候可以通过print(‘内容’,end=’ ')来实现同一行输出结果的目的
但是在js中查阅了很多资料也没发现可以直接将数据在同一行输出的方法,也就是说运行一次print()就得换一次行。
为了解决这个问题,我将代码修改成下面所示,将结果输入到数组中,然后将数组通过.join()的方法将内容输出出来。具体如下所示

let come = readline().split(' ')
let n = parseInt(come[0])
let l = parseInt(come[1])
let arr=[]

while(l<=100){
    
    let head = ((2*n)-(l*(l-1)))/(2*l)

    let headInt=Math.floor(head)
    if(head==headInt && head>=0){
            for(let i=head;i<head+l;i++){
                arr.push(i)    
                }
        print(arr.join(' '))
        break
        
    }    
    l+=1
}
if(l==101){
    print('No')
}

最终顺利通过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Revin050

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值