【算法】打印图形

1.掌握循环、递归算法的基本思想、技巧和效率分析方法。

2.熟练掌握循环和递归的设计要点,清楚循环和递归的异同。

3.学会利用循环、递归算法解决实际问题。

打印图形

编程打印如下图所示的N阶方阵。

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11 

代码实现:

#include <iostream>

using namespace std;



int main() {

int a[100][100] = {0};

int n, k;

int i, j;

cout << "请输入n的值:";

cin >> n;

k = 1;

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

int m = k;

int d = i + 1; //差值

for (j = 1; j <= n - i + 1; j++) {

a[i][j] = m;

m = m + d;

d++;

}

k += i;

}



//输出

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

for (j = 1; j <= n - i + 1; j++) {

cout << a[i][j] << " ";

}

cout << endl;

}



return 0;

}

结果展示:

ps:如果代码还不是很理解,可以看一下横竖相邻两个数的差值,在代码中带入一下。

        可能会理解的更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值