You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中打印如下所示的倒序数字金字塔?

实现特定数字图案的解决方案

你想要实现的目标数字图案:

1
3 2
6 5 4
10 9 8 7

你的现有代码只能生成每行递增的图案,要实现目标效果,需要调整数字的起始值和输出顺序:

规律拆解

目标图案的核心特点:

  • 第i行包含i个数字
  • 第i行的起始数字是前i个自然数的总和,计算公式为 i*(i+1)/2
  • 每行数字从起始值开始依次递减输出

修改后的代码

for(int i = 1; i <= 4; i++)
{
    // 计算当前行的起始数字
    int startNum = i * (i + 1) / 2;
    for(int j = 0; j < i; j++)
    {
        Console.Write(startNum - j);
        // 数字间添加空格,避免行尾多余空格
        if(j != i - 1)
        {
            Console.Write(" ");
        }
    }
    Console.WriteLine();
}

代码说明

  1. 外层循环控制行数,从1到4
  2. 每行起始数通过公式计算,比如第4行起始数是4*5/2=10,完全匹配目标图案
  3. 内层循环从0到i-1,每次输出startNum - j,实现从起始数递减的效果
  4. 空格判断保证数字间有间隔,同时不会在每行末尾多出空格

内容的提问来源于stack exchange,提问作者Vasant Raval

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:20:43