数字填充
来源:互联网 发布:路由器选择算法 优点 编辑:程序博客网 时间:2024/04/29 11:46
题目详情:
peter喜欢玩数字游戏,但数独这样的游戏对他来说太简单了,于是他准备玩一个难的游戏。游戏规则是在一个N*N的表格里填数,规则:对于每个输入的N,从左上角开始,总是以对角线为起点,先横着填,再竖着填。这里给了一些样例,请在样例中找到规律并把这个N*N的表格打印出来吧。
输入描述:
多组测试数据(数据量在100组以内)。每组测试数据只有一行为一个整数N(1<=N<=30),表示表格的大小。
输出描述:
对于每组输入数据,输出N行,为填完的表格(N行,每行N个整数,每个数字之间用空格隔开。
答题说明:
输入样例:
3
5
输出样例:1 2 3
4 6 7
5 8 9
1 2 3 4 5
6 10 11 12 13
7 14 17 18 19
8 15 20 22 23
9 16 21 24 25
import java.util.Scanner;
import java.util.Vector;
public class NumberPlace {
public static void main(String args[]) {
Vector<Integer> v = new Vector<Integer>();
System.out.println("Input(以\"0\"结束输入):");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
while(n != 0) {
if(n < 0 || n > 30) {input.close(); return;}
v.add(n);
n = input.nextInt();
}
input.close();
System.out.println("Outout:");
for(int i = 0; i < v.size(); i++)
printTable(fillTable(v.elementAt(i)));
}
static int[][] fillTable(int n) {
int[][] table = new int[n][n];
int number = 0;
for(int i = 0; i < n; i++) {
for(int j = i; j < n; j++)
table[i][j] = ++number;
for(int j = i + 1; j < n; j++)
table[j][i] = ++number;
}
return table;
}
static void printTable(int[][] table) {
int width = Integer.toString(table.length * table.length).length() + 1;
for(int i = 0; i < table.length; i++) {
for(int j = 0; j < table[i].length; j++)
System.out.printf("%" + width + "d", table[i][j]);
System.out.println();
}
}
}
- 数字填充
- 快速创建数字填充表
- excel自动填充长数字
- 任意矩形填充蛇形数字
- 如何:用前导零填充数字
- csdn高校编程挑战数字填充
- 线下编程1-数字填充
- csdn高校编程挑战数字填充
- 小编程题之数字填充
- 笔记:用前导零填充数字
- Number Complement:数字填充位操作
- 四川大学线下编程比赛第一题:数字填充
- 四川大学线下编程比赛第一题:数字填充
- CSDN 四川大学线下编程比赛第一题:数字填充
- 四川大学线下编程比赛第一题:数字填充
- 四川大学线下编程比赛第一题:数字填充
- 四川大学线下编程比赛第一题:数字填充
- 四川大学线下编程挑战——数字填充
- Ural 1207. Median on the Plane(计算几何)
- 模拟赛 最大公约数(时间限制:1s,空间限制:128MB)
- 不会受到反击和速度绝对是进口的数据卡啊是健康的
- FPGA中异步复位和同步复位
- 对方肯定撒会计法快捷方式的空间科技示范打开速度发生的覅哦发的送
- 数字填充
- openmp之互斥锁
- halcon边缘提取和赃物检测的常用方法
- 调用JOB执行外部脚本报错ORA-27369解决方法
- 东欧电子游戏市场概况
- hdu4433(三维DP,后效性)
- domino cs转bs
- ios 相册功能
- android 通过jdbc连接sql server 2008实现 增,删 改 查功能