1087: 有趣的数字图形IV
Time Limit: 1 Sec Memory Limit: 128 MBDescription
输入一个整数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");
}
}