解题思路:
用数列知识求出通项公式为:a[i][j]=j*(j+2*i+3)/2+(1+i)*i/2+1。
其中(1+i)*i/2+1为每一行的首项,j*(j+2*i+3)/2为每一项与其前一项的差。
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int i,j;
int n,a[100][100];
while (scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)//控制行
{
for(j=0;j<n-i;j++)//控制列
{
a[i][j]=j*(j+2*i+3)/2+(1+i)*i/2+1;//通项公式
if(j<n-i-1)
printf("%d ",a[i][j]);//行末不留空格
else
printf("%d\n",a[i][j]);
}
}
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.11 (C++代码)浏览:735 |
C二级辅导-统计字符 (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1091 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:392 |
Pascal三角 (C语言代码)格式错误浏览:521 |
打水问题 (C语言代码)浏览:1087 |
母牛的故事 (C语言代码)浏览:959 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:883 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
WU-判定字符位置 (C++代码)浏览:1408 |