是个数学问题 将斜三角矩阵的每个点设为i行j列。 行和列数的和小于等于输入数字,且数学关系为num= (i + j + 1)*(i + j + 2) / 2 - i
#include<iostream>
using namespace std;void main(){
int i, j, n, num;
cin >> n;
for (i = 0; i < n; i++){
for (j = 0; j < n - i; j++){
num = (i + j + 1)*(i + j + 2) / 2 - i;
if (j < n - i - 1){
cout << num << " ";
}
else{
cout << num << endl;
}
}
}
system("pause");
}
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- int matrix[100][100];
- int n,i,j,temp;
- scanf("%d",&n);
- for(i=0;i<n;i++)
- {
- for(j=0;j<n-1-i;j++)
- printf("%d ",(i+j)*(i+j+1)/2+j+1);
- printf("%d\n",(i+j)*(i+j+1)/2+j+1);
- }
- return 0;
- }