Presentation Error 帮忙看看啊!!
描述有一片三角形的区域,有N行的钉子,第一行有一颗钉子,第二行有两颗钉子,第三行有三颗钉子.......
每两个钉子之间有一个固定的间隔大小固定,钉子的结构构造如下。。。* 代表钉子
N为1时 N为2时 N为3时 N为4时
* * * *
* * * * * *
* * * * * * ..........
* * * *
现有一个小球落到如图所示的三角形区域的第一行的顶点。落到该点后会弹向下面一行左边或者右边的钉子,概率各为50%,如,落到第一行的第一个钉子的钉子概率为1.000,第二行的第一个为0.500,第二个0.5000,第三行的第一个为0.250,第二个为0.500,第三个为0.250,以此类推。。。
输入
多组测试数据,到文件末尾结束
每行有一个整数N,(1<=N<=10)代表钉子的行数。
输出
对于每组测试数据。
共输出N个小数,依次表示小球碰到第N行的第i个钉子的概率(精确到小数点后四位,i=1~N)。注意行末没有空格
样例输入
1
3
6
样例输出
1.0000
0.2500 0.5000 0.2500
0.0313 0.1563 0.3125 0.3125 0.1563 0.0313
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,n;
float a[10][10]={0};
float sum=0;
a[0][0]=1;
while(scanf("%d",&n)!=EOF)
{
sum=pow(2,n-1);
for(i=1;i<n;i++)
for(j=1;j<n;j++)
{
a[i][0]=1;
a[i][i]=1;
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<n;i++)
{
a[n-1][i]/=sum;
printf("%.4f ",a[n-1][i]);
}
printf("\n");
}
return 0;
}