思路:联想到之前的正三角形*图形打印,觉得大同小异,就要去找里边的区别点——那就是打印的数字,而这些数字是可以直接通过斐波那契数列得到的,之前打印的是 符号 现在打印F(k)就好 还挺容易的
注意点:
- printf(“%d”,F(k));返回int也要printf 才能输出
- 斐波那契数列不是规定死的F(0)=1,这道题就是F(0)=0;自己规定就好
#include <cstdio>
int F(int n)
{
if(n==0)
return 0;
else if(n==1)
return 1;
else
return F(n-1)+F(n-2);
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
while(n--) //n次输出
{
int m;
scanf("%d",&m);
if(m==0) break; //m行
else
{
for(int h=1; h<=m; h++)
{
for(int i=1; i<=m-h; i++)
{
printf(" ");
}
for(int k=0; k<2*h-1; k++)
{
printf("%d",F(k));
printf(" ");
}
printf("\n");
}
}
}
}
return 0;
}
真的好不喜欢codeup啊哈哈哈哈 觉得他编译器好烦人 AC不出来基本就是一些输入输出啥的或是条件啥的不在意 但是放到codeBlocks是完全可以通过那些问题 就得一遍一遍找害