1. 程式人生 > >【HUSTOJ】1087: 有趣的數字圖形IV

【HUSTOJ】1087: 有趣的數字圖形IV

1087: 有趣的數字圖形IV

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 20  Solved: 14
原題連結

Description

輸入一個整數n(n≤12),打印出如下要求的方陣:右上到左下對角線上的數與行數相同,右下半個區域中每個元素等於右邊的和下面的元素之和。每個元素場寬為5。左上半個區域為空。

Input

一個整數n(n≤12)

Output

n*n的方陣(場寬為5)

Sample Input

4

Sample Output

                      4
                 3    7
            2    5   12
        1   3    8   20

HINT

Source

#include<stdio.h>
int er(int n)
{
	if(n==0)
	{return 0;}
	int f1=1,f2;
	n--;
	while(n)
	{
	f2=f1*2;
	f1=f2;
	n--;
    }
    return f1;
}
main()
{
	int n,k;
	scanf("%d",&n);
	
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			
			if(i+j<n+1)printf("%5c",' ');
			else
			{
				if(i+j==n+1){k=n-i+1;printf("%5d",k);}
				else
				{k=k*2+er(i+j-n-1);printf("%5d",k);}
			}
			
		}
		
		printf("\n");
	}
}