题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

二维遍历即可,注意要能推导出等差数列的公式(再减去行号-1)
等差数列规律,以途中18为例:从最左边一列依次+1,到路口向右再依次+1。
注意最后还要减去那个没算进来的的‘4’(即行号)。
整理后公式为:(i+j)*(i+j-1)/2  -i +1 
#include<bits/stdc++.h>  //蛇形用等差数列观察,规律很nice~
using namespace std;

int main(){
    int n;
    while(cin>>n){
        vector<vector<int>> v(n+1,vector<int>(n+1,0));
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n-i+1;j++){
                if(j!=1) cout<<' ';
                cout<<(i+j)*(i+j-1)/2 -i+1;
            }
            cout<<endl;
        }
    }
}


全部评论

相关推荐

明天不下雨了:我靠2022了都去字节了还什么读研我教你****:你好,本人985电子科大在读研一,本科西南大学(211)我在字节跳动实习过。对您的岗位很感兴趣,希望获得一次投递机会。
点赞 评论 收藏
分享
沟头学院:无关比赛不要写,这样会显着你主次不分,比赛不要撒谎,有哪些就写那些,创新创业建议删除。技能特长可以适当夸大。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务