给定金字塔中的元素数量,是否有任何公式可用来找到金字塔中形成的行数?输入:
{11,12,13,14,15,16,17,18,19,20}
输出:
11
12 15
13 16 18
14 17 19 20
(半金字塔格式)
实际上与三角数的公式相同。
T = n(n + 1)/ 2
您必须找到n而不是T。您只需在代码中实现此简单函数。以下是一个简单的示例,您只需要传递数组的长度即可。
public int getRowCount(int length){
return Math.sqrt(2 * length + 0.25) - 0.5;
}
import java.util.*;
public class Hello {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String s=sc.next();
String[] c=s.split(",");
int k;
int row=(int)(Math.sqrt(2*c.length+0.25) - 0.5);
for(int i=0;i<row;i++)
{
k=i;
for(int j=0;j<=i;j++)
{
System.out.print(c[k]+" ");
k=k+(row-1)-j;
}
System.out.println();
}
}
}