【问题标题】:How to print the below number series in javascript如何在javascript中打印以下数字系列
【发布时间】:2017-10-27 14:49:00
【问题描述】:

我需要在 javascript

中打印如下数字系列
123567101112161718232425

在 3 个数字之后,next 将为空。这将随着 1 个号码的丢失而增加,接下来的 2 个号码就是这样丢失的。

任何人都可以帮助我如何做到这一点..

【问题讨论】:

  • 你试过什么?出了什么问题?
  • @Parthiban 你能解释一下这个数字系列属性的属性吗
  • 如果我提供像 printnumbers(25) 这样的功能,它应该像相关系列一样打印。所以条件是3个数字。之后 123 - 4 失手,之后 567 - 8 和 9 失手。所以它会增加..
  • idownvotedbecau.se/noattempt --- 我的想法是你可以做一个for 循环将元素添加到数组中,然后使用array.join('')

标签: javascript loops typescript numbers


【解决方案1】:

我相信这样的事情可能会奏效:

思路:每3个数字后,增加跳数。在增加之前,只需将其添加到当前编号即可。

var retStr = '';

var jump = 1;
var currNum = 1;
for(var i=0;i<10;i++){
    for(var j=0;j<3;j++){
        retStr  = retStr + (currNum++);
    }
    currNum += jump++;
}
console.log(retStr);

输出:“123567101112161718232425313233404142505152616263737475”

【讨论】:

  • 妈的,你秒杀我! :)
  • @Connum 它在第一张照片中就起作用了,在 google chrome 上也是如此:即使我也很惊讶:P 很高兴我能提供帮助,Parthiban :)
【解决方案2】:

var serie = "";
var skip = 0;
for (var i=1; i<100; i++)
{
  
  serie = serie + i + (i+1) + (i+2)
  
  i= i+2 
  
  skip = skip +1;
  
  i= i + skip;
}

console.log(serie);

【讨论】:

    【解决方案3】:
    var count = 1 ;
    var j=1;
    for(var i=0;i<5;i++){
      for(j=count; j<(count+3); j++){
        document.write(j);
      }
      count = j+=i+1;
    }
    

    【讨论】:

    • 虽然只有代码的答案可能会解决问题,但如果您能解释为什么您的答案可以解决问题,那总是会更好。当其他人查看答案以了解发生了什么变化以及为什么应该这样做时,这会有所帮助。
    【解决方案4】:
    function Print(N) {
      var arr = [];
        var k =0;
        var p =0 ;
      for (var i = 1; i <= N; i++) {
    
    
    
        arr.push(i + k)
    
             if (arr.length % 4 == 0) {
          k= k+p ;
                p++;
                k++;
        }
    
    
    
    
      }
      return console.log(arr);
    }
    
    Print(20)
    

    【讨论】:

    • 最简单的@时间复杂度
    猜你喜欢
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 2014-07-06
    • 2012-09-14
    • 1970-01-01
    • 2023-02-04
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多