【问题标题】:How to print 5 characters per line in Pencilcode?如何在 Pencilcode 中每行打印 5 个字符?
【发布时间】:2017-12-11 04:01:48
【问题描述】:

(数学:五边形数)五边形数定义为 n(3n–1)/2,其中 n = 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行)。

附:重要的是我必须在 Pencil Code 中完成

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

【问题讨论】:

  • 您将其标记为 Java 有什么原因吗?我认为 Java 程序员帮不了你太多。
  • @Dan Ah。 Coffeescript 有静态方法吗?
  • 而且......需求正在谈论一种返回int的方法。
  • public static int 不是 Javascript。由于语言问题令人困惑,我投票结束这个问题,因为它不清楚。

标签: javascript algorithm math


【解决方案1】:

我不熟悉 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 中不起作用?

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

【讨论】:

    【解决方案2】:

    编写一个使用这种方法的测试程序

    您只是调用了一些 write 方法,而不是使用它,因此不清楚任务是学习方法还是编写输出,但这里是如何将每行 5 个数字格式化为 3 行的方法

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

    【讨论】:

    • 我怀疑你想要的是getPentagonalNumber(lines * 5 + n + 1),而不是getPentagonalNumber(n)。或者,你可以让你的内循环for (var n = lines * 5 + 1; n &lt;= lines * 5 + 5; n++)
    • 哎呀,是的。不过,将 n 移到外部范围会更简单
    猜你喜欢
    • 2019-03-19
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多