第二届2011年国信蓝点杯软件设计大赛预赛的试题上三角
2017-03-14 17:46
246 查看
package java_gaozhi_2011;
import java.util.Scanner;
/*方阵的主对角线之上称为“上三角”。
请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:
使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
*/
public class Task_9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] s = new int
;
int sum = 1;
int i;
for( i=0;i<n;i++){
for(int j=i;j<n-1-i*2;j++){
s[i][j] = sum++;
}
for(int j=i;j<n-1-i*2;j++){
s[j][n-1-i-j] = sum++;
}
for(int j=i;j<n-i*2-1;j++){
s[n-1-i-j][i] = sum++;
}
}
if((i-1)%3==0){
s[(n-1)/3][(n-1)/3]=sum;
}
for(int c =0;c<n;c++){
for(int j =0;j<n;j++){
if(s[c][j]==0){
continue;
}
System.out.print(s[c][j]+" ");
}
System.out.println();
}
}
}
import java.util.Scanner;
/*方阵的主对角线之上称为“上三角”。
请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:
使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。
*/
public class Task_9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] s = new int
;
int sum = 1;
int i;
for( i=0;i<n;i++){
for(int j=i;j<n-1-i*2;j++){
s[i][j] = sum++;
}
for(int j=i;j<n-1-i*2;j++){
s[j][n-1-i-j] = sum++;
}
for(int j=i;j<n-i*2-1;j++){
s[n-1-i-j][i] = sum++;
}
}
if((i-1)%3==0){
s[(n-1)/3][(n-1)/3]=sum;
}
for(int c =0;c<n;c++){
for(int j =0;j<n;j++){
if(s[c][j]==0){
continue;
}
System.out.print(s[c][j]+" ");
}
System.out.println();
}
}
}
相关文章推荐
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题最近距离
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题9
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题5
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题2
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题7
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题8
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题股票风险
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题猜基因牛
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题6
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题4
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题计算反转的串
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题10
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题猜数字
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题3
- 第二届 “国信蓝点”软件设计大赛 C语言模拟题(附程序题 解题程序)
- 再做蓝桥杯全国软件专业人才设计大赛2012试题
- 中国成都国际软件设计大赛--网络预赛注意事项
- 第三届软件大赛预赛A组试题及答案