如何确定用于确定弗洛伊德三角形的Java循环数组中第一个数字的公式?

布莱恩:

嗨,我有java循环问题。

所以我试图找出如何通过在三角形上输入高度来确定弗洛伊德三角形循环中的第一个数字(在图案的顶部)。

注意:仅输入高度即可确定第一个数字,最后一个数字应固定为1。

例如:

Enter the height: 5

The first number is: 15

15
14 13
12 11 10
9  8  7  6 
5  4  3  2  1

另一个是

Enter the height: 6

The first number is: 21

21
20 19
18 17 16
15 14 13 12
11 10 9  8  7
6  5  4  3  2  1 

我已经想出如何做的模式和值的递减,但我似乎无法找出第一个数字。我一直在尝试弄清楚序列,但是它仍然让我感到困惑,因为我还是java的新手。

这是我的代码:

import java.util.Scanner;

public class Main
{
    public static void main(String[] args) {

        int n;
        int startingnumber = ;

        Scanner input = new Scanner(System.in);

        System.out.print("Enter the height of the triangle: ");
        n = input.nextInt();
        System.out.print("The first number is "+startingnumber);

        for(int i =1; i<=n; i++){

            for(int j =1; j<=i; j++){
                System.out.print(startingnumber);
                startingnumber--;
            }

            System.out.println();
        }


    }
}

该代码仍未完成,因为我无法弄清楚公式:(

我将不胜感激。谢谢!

Butiri Dan:

这个数学问题是三角数,这是视觉演示

S1 = 1
S2 = 1 + 2
S3 = 1 + 2 + 3
...
Sn = 1 + 2 + 3 + ... + n

=> 1 + 2 + 3 + ... + n = n * (n + 1) / 2

也可以看看System.out.printf

public static void main(String[] args) {
    int n;
    int startingnumber;

    Scanner input = new Scanner(System.in);

    System.out.print("Enter the height of the triangle: ");
    n = input.nextInt();
    startingnumber = n * (n + 1) / 2;
    System.out.println("The first number is " + startingnumber);

    for (int i = 1; i <= n; i++) {

        for (int j = 1; j <= i; j++) {
            System.out.printf("%3d ", startingnumber);
            startingnumber--;
        }

        System.out.println();
    }
}

输出量

Enter the height of the triangle: 6
The first number is 21
 21 
 20  19 
 18  17  16 
 15  14  13  12 
 11  10   9   8   7 
  6   5   4   3   2   1 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在弗洛伊德的三角形图案中锯齿形数字?

弗洛伊德的三角形反转

如何确定一个点是否在2D三角形中?

我如何在 C++ 中打印一个数字三角形

数学上把一个矩形分成四个三角形,确定指针位置

如何从同构三角形集中仅返回一个三角形?

如何创建一个numpy数组来描述三角形的顶点?

glDrawElements仅绘制由索引指定的第一个三角形

使用GLSL着色器后第一个三角形不渲染

在java中打印一个独特的三角形字符

如何确定用户在此矩形中触摸了哪个三角形?

在2D中,如何确定三角形和AABB是否相交

用while循环循环一个三角形

用数字绘制一个三角形(javascript)

确定三角形是否朝左

如何使用三角形顶点坐标(每个三角形有 9 个数字)在 matplotlib 中绘制 3d 三角形?

如何仅使用 css 创建一个三角形的 div?

如何在底部创建一个全角三角形?

如何画一个三角形?

如何制作一个三角形的星星并计算星星的数量?

如何用PIL画一个三角形?

如何获得一个虚构的三角形内的mouselistener通知点击?

两个可变的弗洛伊德三角模式

使用递归从星星中创建一个三角形

在组装中打印一个三角形的字符

如何使用for循环在Java中创建向后三角形

如何在xml drawable android中绘制一个矩形内端三角形形状?

如何围绕JavaFX中的一个点旋转三角形并获取点的值?

您将如何在C中以递归方式生成一个Sierpinski三角形