mengxin


私信TA

用户名:1000001

访问量:6622

签 名:

等  级
排  名 490
经  验 4506
参赛次数 0
文章发表 73
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

思路:

1 3 6 10 15
2 5 9 14
4 8 13
7 12
11

令i表示第i行

令x=1,承担第一列的区间变化,即加1,加2,加n-1;

令y=x,承担第一行的区间变化,即加2,加3,加n-2;i=1,加i+1;

当第i行时,加i+1;

x是不参与“行”的计算的,y进行“行”的计算;

x使得y初始化,为第一列的正确数;

总结:x推出第一列的数,y根据第几行进行加的变化且回到第一列的某个数时y=x;

参考代码:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
   int n;
   while(scanf("%d",&n)!=EOF)
   {
       int x=1;
       int y;
       for(int i=1;i<=n;i++)
       {
           x+=i-1;
           y=x;
           for(int j=i;j<=n;j++)
           {
            if(j!=n)
              printf("%d ",y);
            else
                printf("%d",y);
              y+=j+1;
              if(j==n)
                printf("\n");
           }
       }
   }
    return 0;
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区