TB椰程 TypeBuddy 打字搭子

数字直角三角形

洛谷·深入浅出 · 代码 · cpp · 难度 3/5 · 共 533 字

按行输出顺次编号、每位两位补零的直角三角形

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1376
// 题意:给出 n,输出直角边为 n 的数字直角三角形;每个数固定 2 位(不足前导 0),同行数字紧挨、行末才换行。
// 思路:按行输出,第 i 行(从上往下)有 n-i+1 个数,依次填 1..n(n+1)/2,每个数用 setw(2) 补 0。
// 复杂度:O(n^2)。
// 易错点:每个数 2 位;行内不换行、行末才换行;数字顺序连续不重不漏。
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
    int n;
    cin >> n;
    int cur = 1;
    for(int i = 1; i <= n; i++){
        for(int j = 0; j < n - i + 1; j++){
            cout << setw(2) << setfill('0') << cur;
            cur++;
        }
        cout << endl;
    }
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK