要求,斜对角线上成规律,如下图:
输入:三角形行数(n)
输出:如上要求的数字图案
好,我们先分析一下:
当输入5,显示如下:
结合两张图片,我发现一些规律:
(1)先看每一行的首元素:
- 1=1+0
- 2=1+0+1
- 4=1+0+1+2
- 7=1+0+1+2+3
。
。
。
依次类推。
(2)再看行数,列数变化规律
行数=n;
列数元素第一行=n,
第二行=n-1,
第三行=n-2,
依次类推
(3) 再看每行元素之间规律(除了首元素,首元素的规律上面有)
就拿 第一行:1 3 6 10 15 来看:
3=1+2,6=1+2+3,10=1+2+3+4,15=1+2+3+4=5(1开始,1也是行数)
拿第二行:2 5 9 14 来看:
5=2+3,9=2+3+4,14=2+3+4+5(2开始,2也是行数)
依次类推。
根据上面的规律,我们就能打印出这个数字图案了呦!
java的eclipse代码如下:
package package1;
import java.util.*;
public class No2
{
static int first(int n)//每行首元素,n为行数
{
int sum=1;
for(int i=0;i<n;i++)
sum+=i;
return sum;
}
public static void main(String[] args) //Asia/Shanghai
{
Scanner in1=new Scanner(System.in);
System.out.print("请输入行数:");
int n=in1.nextInt();
for(int i=1;i<=n;i++) //行数
{
int sum=first(i);
System.out.print(sum+"\t");
int k=i+1;
for(int j=n-i+1;j>1;j--)//列数-1
{
System.out.print(k+sum+"\t");
sum+=k;
k++;
}
System.out.println();
}
}
}
好了,祝您生活愉快!这篇文章也是本人原创,题目来源华南农业大学《java程序设计基础》(第6版)p55 题目4.11.