杨辉三角(打印一个等腰、直角三角形)
面试的时候,会遇到这道题,当时没做出来,下来自己试了一下,希望可以帮助到你
代码:
public static void yanghui(int value)
{
if (value <= 3)
{
Console.WriteLine("请输入大于3的数字!!!!");
}
else
{
//直角杨辉三角
//int[,] arr = new int[value, value];
//for (int i = 0; i < value; i++)
//{
// for (int j = 0; j <= i; j++)
// {
// if (i == j || j == 0)
// {
// arr[i, j] = 1;
// }
// else {
// arr[i, j] = arr[i - 1, j - 1] + arr[i - 1, j];
// }
// Console.Write(arr[i,j]+" ");
// }
// Console.WriteLine();
//}
//等腰杨辉三角
int i;
int[] a = new int[value];
for (i = 0; i < value; i++)
{
a[i] = 1;
for (int j = i - 1; j > 0; j--)
{
a[j] = a[j - 1] + a[j];
}
for (int k = value; k >= i; k--)
{
Console.Write(" ");
}
for (int j = 0; j <= i; j++)
{
string s = a[j].ToString();
if (s.Length == 1)
Console.Write(a[j] + " ");
else
Console.Write(a[j] + " ");
}
Console.WriteLine();
}
}
}
效果图: