游客 Signup | Login
中文 | En

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;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题