1011 - 构建矩阵
时间限制 : 1 秒
内存限制 : 32 MB
现请你构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。(i,j均从1开始)
题目输入
输入的第一行为一个正整数C,表示测试样例的个数。
然后是C行测试样例,每行为一个整数N(1<=N<=9),表示矩阵的行列数。
题目输出
对于每一组输入,输出构建的矩阵。
输入/输出样例
输入格式
2 1 4
输出格式
1 1 2 3 4 2 4 6 8 3 6 9 12 4 8 12 16
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; }
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; }
Java解答
import java.util.*; public class Main{ public static void drawMatrix(int x){ for(int i=1;i<=x;i++){ for(int j=1;j<x;j++){ System.out.print(j*i+" "); } System.out.print(x*i); System.out.println(); } } public static void main(String[] args) { @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); int flag = sc.nextInt(); int[] a = new int[flag]; for(int i=0;i<flag;i++){ a[i] = sc.nextInt(); } for(int i=0;i<flag;i++){ drawMatrix(a[i]); } } }
Python解答
import sys l =1 for line in sys.stdin: data = int(line.split()[0]) if l !=1: if data == 1: print 1 else: #k = 1 for j in xrange(1,data+1): new = [ i*j for i in range(1,data+1)] print ' '.join([str(i) for i in new]) l +=1