当前位置: 代码迷 >> Java相关 >> 编程输出数字图案 急呀...
  详细解决方案

编程输出数字图案 急呀...

热度:487   发布时间:2007-09-20 22:50:14.0
编程输出数字图案 急呀...
有谁能尽快帮我解决以下问题:
编程输出图案:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
搜索更多相关的解决方案: 图案  数字  输出  

----------------解决方案--------------------------------------------------------

如果没其他要求,太容易啦。
有没有要求用什么方法?


----------------解决方案--------------------------------------------------------

package src;

public class Num {
public static void main(String args[]){
int k=1,l=1,m=1,n=1;
for(int i=1;i<=5;i++){
l=m;
for(int j=1;j<=6-i;j++){
System.out.print(m+" ");
n++;
m=m+n;
}
m=l+k;
k++;
n=k;
System.out.println();
}
}
}
可以参考一下


----------------解决方案--------------------------------------------------------

把l=m;去掉为什么不可以,难道一定要这个全局变量吗?


----------------解决方案--------------------------------------------------------

这个图案的规律就是:每一行的数之间是等差的,每一列之间的数也是等差的,你把这些差列出来就知道规律了,而且行的差和列的差也有关系
我用了两个计数器,一个是纪录行的,一个是纪录列的


----------------解决方案--------------------------------------------------------
错了,不叫等差,应该叫差是递增的,呵呵
----------------解决方案--------------------------------------------------------
你可以这样看,把每一行的相邻数之差列出来,然后把第一列的相邻数之差列出来,规律就出来了,我的程序是按照这样的想法的
----------------解决方案--------------------------------------------------------
来个简单的(用JDK 1.5以上版本编译):
程序代码:

/**
@author Eastsun
*/
public class A{
public static void main(String[] args){
final int size =5; //这个数代表要输出的行数
for(int y =0;y< size;y ++){
for(int x =0;x <size -y; x++)
System.out.printf(\"%-4d\",((x+y)*(x+y+1)/2 +x+1));
System.out.println();
}
}
}

----------------解决方案--------------------------------------------------------
回复:(Eastsun)来个简单的(用JDK 1.5以上版本编译)...

版主好:
问几个较初级的问题:
1。/**
@author Eastsun
*/
代表什么意思?
2。用的是EditPlus么?


----------------解决方案--------------------------------------------------------
javaDoc文档
@author Eastsun作者是Eastsun
----------------解决方案--------------------------------------------------------
  相关解决方案