问关于发生杨辉三角形代码中的两点疑惑
问关于产生杨辉三角形代码中的两点疑惑
代码如下:
#include <iostream>
using namespace std;
int main()
{
int m=8;
int r,c,j,n=0;
for(n=0;n<m-1;n++)
{
for(r=1;r<15-n;r++)
{cout<<"*";}
c=1;
cout<<c<<"*";
for(r=1;r<=n;r++)
{
c=c*(n-r+1)/r;
if(c<100)
if(c<10)
cout<<c<<"*";
else
cout<<c<<"*";
}
cout<<"n="<<n<<endl;
cout<<endl;
}
return 0;
}
1:c=c*(n-r+1)/r 是如何想到的?
2:if(c<100)
if(c<10)
cout<<c<<"*";
else
cout<<c<<"*";
改成直接cout<<c<<,可以吗?
代码如下:
#include <iostream>
using namespace std;
int main()
{
int m=8;
int r,c,j,n=0;
for(n=0;n<m-1;n++)
{
for(r=1;r<15-n;r++)
{cout<<"*";}
c=1;
cout<<c<<"*";
for(r=1;r<=n;r++)
{
c=c*(n-r+1)/r;
if(c<100)
if(c<10)
cout<<c<<"*";
else
cout<<c<<"*";
}
cout<<"n="<<n<<endl;
cout<<endl;
}
return 0;
}
1:c=c*(n-r+1)/r 是如何想到的?
2:if(c<100)
if(c<10)
cout<<c<<"*";
else
cout<<c<<"*";
改成直接cout<<c<<,可以吗?