题解 P5721 【【深基4.例6】数字直角三角形】

· · 题解

这题还是有点技巧的

可以看出要输出a(a+1)个数

每行输出a,a-1……,1个数

所以用i记录现在要输出什么

j记录在第几列

j>a之后就换行

输出是注意所有数字都是 2 位组成的即可

std:

#include <iostream>
#include <algorithm>

using namespace std;

int a,b;

int main()
{
    int i,j,k;
    cin>>a;
    b=a;
    a=a*(a+1)/2;
    j=1;
    i=1;
    while(i<=a)
    {
        if(i<10)
        {
            cout<<0<<i;
        }
        else
        {
            cout<<i;
        }
        i++;
        j++;
        if(j>b)
        {
            b--;
            j=1;
            cout<<endl;
        }
    }
    return 0;
}

感谢管理员的审核!!