如何在Pencilcode中每行打印5个字符?

时间:2017-12-11 04:01:48

标签: javascript algorithm math

(数学:五边形数字)对于n = 1,2,...,五边形数定义为n(3n-1)/ 2。 。 。, 等等。因此,前几个数字是1,5,12,22,.... 。 。

  

编写一个测试程序,使用此方法显示前15个五边形数字,每行5个数字。

以下是我尝试的内容:

x = 0;
c = 1;
for (x=0; x < 3; x++) {
  for (var y = 0; y < 5; y++, c++) {
    write(c*(3*c-1)/2);
  }
}

我能够打印五角形数字,但每次打印时,都会跳过一行(因此,每行打印一个数字)。我需要的是它在总共15个数字中每行打印5个数字。所以,3行)。

P.S。重要的是我必须在铅笔代码

中这样做

[1]:https://i.stack.imgur.com/RnqFG.png这是我网站上代码的链接

2 个答案:

答案 0 :(得分:0)

  

编写使用此方法的测试程序

您只是调用一些写入方法,而不是使用它,因此,如果任务是学习方法或编写输出,那么它并不是很清楚,但是这里有你如何格式化3行每行5个数字

n = 0;
for (var lines = 0; lines < 3; lines++) {
    line = "";
    for (var i = 0; i < 5; i++) {
        line = line + getPentagonalNumber(n) + " ";
        n++;
    }
    write(line);
} 

答案 1 :(得分:0)

我不熟悉PencilCode,但我相信你想要的是在同一行输入来自内部for循环的所有回复,然后然后转到新行内循环结束后 - 所以最后你将有三行输出。

我查了一下PencilCode文档here并认为你想要的是替换:

write(c*(3*c-1)/2);

使用:

type(c*(3*c-1)/2);

然后添加以下内容以在每个数字之间添加空格:

type " "

然后在内部for循环后添加此内容以移至新行:

typeline();

所以我认为你的最终PencilCode看起来像这样:

1    x = 0;
2    c = 1;
3    for (x=0; x < 3; x++) {
4        for (var y = 0; y < 5; y++, c++) {
5            type(c*(3*c-1)/2);
6            type " ";
7        }
8        typeline();
9    }

type()似乎只是在一行上键入,但不会将光标移动到下一行 - 它类似于Java中的System.out.print()

typeline()似乎键入括号内的任何内容,然后将光标移动到下一行。在这种情况下,没有任何东西,所以它只是将光标移动到下一行 - 它类似于Java中的System.out.println()

Line 6是在您要打印的每个数字之间添加一个空格。我尝试在文档here中玩,但似乎字符串连接在PencilCode中不起作用?

无论如何,我希望这能解决你的问题。