每日一题-1
来源:互联网 发布:mac版本千牛 编辑:程序博客网 时间:2024/04/30 08:52
/*
* 题目详情
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
{
int N;
int a[][];
int counter;
public void init(int n)
{
N=n;
a=new int[n][n];
counter=1;
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
a[i][j]=counter++;
for(int j=i+1;j<n;j++)
a[j][i]=counter++;
}
}
public void show()
{
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
System.out.print(" ");
System.out.print(a[i][j]);
if(j==N-1)
System.out.println();
}
}
}
public static void main(String[] args)
{
exercise ex1=new exercise();
for(int i=0;i<4;i++)
{
ex1.init(2*i+1);
ex1.show();
}
}
* 题目详情
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
*/
这是一道较为简单的编程练习,其考察的核心是读写控制。因此,就会有两种方法来解决这个问题:1·顺序写入控制读出;2·控制写入顺序读出。
这和TST型交换机的读写有点类似——他们都是在读写两方面分别进行控制。
方法一:顺序写入控制读出
(暂未实现)
方法二:控制写入顺序读出
public class exercise{
int N;
int a[][];
int counter;
public void init(int n)
{
N=n;
a=new int[n][n];
counter=1;
for(int i=0;i<n;i++)
{
for(int j=i;j<n;j++)
a[i][j]=counter++;
for(int j=i+1;j<n;j++)
a[j][i]=counter++;
}
}
public void show()
{
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
System.out.print(" ");
System.out.print(a[i][j]);
if(j==N-1)
System.out.println();
}
}
}
public static void main(String[] args)
{
exercise ex1=new exercise();
for(int i=0;i<4;i++)
{
ex1.init(2*i+1);
ex1.show();
}
}
}
运行结果:
1
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
1 2 3 4 5 6 7
8 14 15 16 17 18 19
9 20 25 26 27 28 29
10 21 30 34 35 36 37
11 22 31 38 41 42 43
12 23 32 39 44 46 47
13 24 33 40 45 48 49
0 0
- 每日一题-1
- 每日一题(1):
- 每日一题 -- 11-1
- 算法每日一题:1、猜数
- 面试—每日一题(1)
- 每日一题(1): poj2676: Sudoku
- 每日一题2
- 每日一题
- 每日一题12.20
- 每日一题
- Javascript每日一题
- 每日一题
- Mysql每日一题
- 每日一题
- 每日一题A
- 每日一题A
- 每日一题5.31
- 每日一题C
- 安卓Permission
- STM32F207运用串口空闲中断+DMA接收不定长数据
- redo logfile operation codes
- android屏幕适配——1920x1200
- JS和PHP互调用
- 每日一题-1
- 多分辨率分析与正交小波-4
- 新的一天,新的开始
- onclick和onfocus的区别
- C++STL学习Pair
- [Leetcode] Reverse Integer
- C#相等比较
- SVM的简单介绍
- Eclipse 启动报错Failed to create the Java Virtual Machine的解决方法,三种