1085: 有趣的数字图形II
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
1 3 8 20
2 5 12
3 7
4
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)printf("%5c",' ');
else
{
if(i==j){printf("%5d",i);k=i;}
else
{k=k*2+er(j-i);printf("%5d",k);}
}
}
printf("\n");
}
}