110,536
社区成员
发帖
与我相关
我的任务
分享
int PrintValue(int manLineNumber)
static int GetValue(int m)
{
int value1 ;
if ((m == 0) || (m==1))
{
value1 = 1;
}
else
{
value1 = m * GetValue(m - 1);
}
return value1;
}
static void Main(string[] args)
{
int value=8;
for (int m = 0; m < value; m++)
{
for (int i = 0; i <=m; i++)
{
Console.Write("{0} ", GetValue(m) / (GetValue(i) * GetValue(m - i)));
}
Console.WriteLine("");
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
PrintValue(8);
}
private static void PrintValue(int maxLineNumber)
{
int[] lastNum = { 1 };
for (int i = 1; i <= maxLineNumber; i++)
{
int[] num = new int[i];
num[0] = num[i - 1] = 1;
if (i % 2 == 0)
{
for (int j = 1; j < i / 2; j++)
{
num[i - j - 1] = num[j] = lastNum[j - 1] + lastNum[j];
}
}
else
{
for (int j = 1; j < (i / 2) + 1; j++)
{
num[i - j - 1] = num[j] = lastNum[j - 1] + lastNum[j];
}
}
foreach (int a in num)
{
Console.Write(a);
Console.Write("\t");
}
lastNum = num;
Console.WriteLine();
}
Console.ReadLine();
}
}
}
static IEnumerable<int> PascalTriangle(int n)
{
if (n == 0)
yield return 1;
else
{
int prev = 0;
foreach (var item in PascalTriangle(n - 1))
yield return prev + (prev = item);
yield return prev;
}
}
static void Main()
{
foreach (var line in (from n in Enumerable.Range(0, 10)
select string.Join("\t", (from i in PascalTriangle(n)
select i.ToString()).ToArray())))
{
Console.WriteLine(line);
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace yhsj
{
class Program
{
static void Main(string[] args)
{
//@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/【Dream InterFace】/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/
Console.WriteLine("请输入您想得到的最大次方(也就是行数+1):");
// int n = Convert.ToInt32(Console.ReadLine());//用于定义三角的行数,也就是n次方;
Console.WriteLine("\n杨辉三角如下:");
int n = 5;
int[] Deposited = new int[n + 1];//用于临时存储上一次得到的数字
int[] Triangle;//用来表示每一行的数组;
for (int i = 0; i <= n; i++)
{
if (i == 0)
{
Format(0, n);
Console.WriteLine("1\n");
}
else if (i == 1)
{
Triangle = new int[i + 1];
Triangle[0] = 1;
Triangle[i] = 1;
Format(1,n);
foreach (int r in Triangle)
{
Console.Write(r + "\t ");
}
//把得到的一行数据转存到Deposited中
for (int D = 0; D <= i; D++)
{
Deposited[D] =Triangle[D];
}
Console.WriteLine("\n");
}
else if (i > 1)
{
//把上一行的数据传到方法里面,计算后返回下一行的数据存储在Triangle
Triangle = Genius(Deposited, i,n);
}
}
//在此处无实际意义,主要是在程序结束后保证窗体不会一下消失,当然按Shift+F5也是一样的
Console.ReadLine();
}
/// <summary>
/// 计算下一行的数据
/// </summary>
/// <param name="Deposited">上一行的数据</param>
/// <param name="i">当前行数</param>
/// <param name="n">总行数</param>
/// <returns>得到的行的数据</returns>
private static int[] Genius(int[] Deposited, int i,int n)
{
int[] Num;
Num = new int[i + 1];
Num[0] = 1;
Num[i] = 1;
for (int j = 0; j < i - 1; j++)
{
Num[j + 1] = Deposited[j] + Deposited[j + 1];
}
Format(i, n);
for (int o = 0; o < Num.Length; o++)
{
if (i % 2 != 0)
{
Console.Write(Num[o] + "\t ");
}
else
Console.Write(Num[o]+"\t");
}
//把得到的一行数据转存到Deposited中
for (int D = 0; D <= i; D++)
{
Deposited[D] = Num[D];
}
Console.WriteLine("\n");
return Num;
}
public static void Format(int i,int n) //控制输出的空格
{
for (int Tab = 0; Tab < n - i; Tab++)
{
Console.Write(" ");
}
}
}
}