1011 - 构建矩阵
现请你构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。(i,j均从1开始)
Input
输入的第一行为一个正整数C,表示测试样例的个数。
然后是C行测试样例,每行为一个整数N(1<=N<=9),表示矩阵的行列数。
Output
对于每一组输入,输出构建的矩阵。
Examples
Input
2 1 4
Output
1 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16
Solution C
#include<stdio.h> int main() { int c,n,i,j,k,a[10][10]; scanf("%d",&c); while(c--) { scanf("%d",&n); for(i=1;i<n+1;i++) { k=0; for(j=1;j<n+1;j++) { a[i][j]=i*j; printf(k++?" %d":"%d",a[i][j]); } printf("\n"); } } return 0; }
Solution C++
#include<iostream> #include<cstdio> #include<cstring> #include<map> #include<queue> #include<stack> #include<set> #include<vector> #include<algorithm> #include<cmath> using namespace std; #define Max(a,b) (a > b ? a : b) #define Min(a,b) (a < b ? a : b) #define INF 0x3f3f3f3f #define M 100 int main() { int n,m; scanf("%d",&n); while(n--) { scanf("%d",&m); for(int i = 1; i <= m; i++) { for(int j = 1; j <= m; j++) { if(j == 1) { printf("%d",i * j); } else { printf(" %d",i * j); } } printf("\n"); } } return 0; }