java - Java中的三角形数

标签 java numbers

我是 Java 的新手,现在我想更好地学习 for 循环。我做了一些例子,但我不知道如何做一个看起来像这样的三角形: 对于 n=6:

111111 
22222
3333
444
55
6

到目前为止我的代码:

class Pyramid
{
public static void main (String[] args)
{
   int i,n=9,j; 
   for(i=1;i<=n;i++)
   {
       for(j=1;j<=i;j++)  {          
System.out.print(i); }      
System.out.print("\n");        
}}}

但我设法做到的是这样的:

1
22
333
4444
55555
666666

如何让它倒序?

最佳答案

我们可以使用函数 int numberForRow(int row) 来执行合适的转换。然后可以像 r = numberForRow(i); 这样使用该函数;打印(r)。它需要映射这个:

row (i) -> display number (r)
6          1
5          2
4          3
3          4
2          5
1          6

我觉得你可以写:)

查看输入 (i) 和输出 (r) 之间的关系 - 注意到它们总是加起来相同的值可能很有用,因此一点点数学应该可以解决问题。

(虽然函数不是严格要求的,但我发现这样的函数可以帮助解决问题,尤其是在这种情况下,可以很好地说明转换 - 它也适用于“更高级”的转换,例如在最初的问题中 ;-)

关于java - Java中的三角形数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083791/

相关文章:

java - 有人有 JSTUN 文档或帮助解释更多吗?

java - 为父类设置字段值的常用方法

java - 丢弃来自套接字的输入

java - 构造函数参数值未实现

c# - 获取在数组中的文本框中输入的数字

c - 确定字符串是 ANSI C 中的整数还是 float

java - 当前线程中没有 OpenGL 上下文

java - 获取数字位数的最快方法?

用于计算均值、中位数、众数和其他统计数据的 c 库?

javascript - 代码 war 挑战