using System.Reflection.Metadata.Ecma335;
namespace demo_10._10 { internal class Program {
static void Main(string[] args)
{
/* int num2 = 2;
//函数 返回多个值 同个类型返回数组 不同类型多个值。 out参数 在形参后面加上out
static bool isPrime(int num,out int num1)
{
num1 = 1;//定义out参数后面的变量 在函数内必须要赋值。
return true;
}
isPrime(10,out,num2,12);//将num1的值赋给num2=num1。
Console.WriteLine(num2);*/
/* Console.WriteLine("请输入用户名");
string name=Console.ReadLine();
Console.WriteLine("请输入密码");
string pwd=Console.ReadLine();
string msg="1";
static bool isLogin(string name,string pwd,out string msg2)
{
if (name == "admin" && pwd == "1234")
{
msg2 = "登陆成功";
return true;
}
else if (name == "admin" &&pwd != "1234")
{
msg2 = "密码错误";
}else if (name!="admin" && pwd == "1234")
{
msg2 = "用户名错误";
}
else
{
msg2 = "用户名密码错误";
}
return false;
}
isLogin(name, pwd, out msg);
Console.WriteLine(msg);
//ref 同样还是将函数中变量的值带出来 不一样的是 在函数中可以不用赋值。外部接收的变量需要赋初始值。*/
/*//青蛙跳台阶
//f(n)=f(n-1)+f(n-2)
Console.WriteLine("请输入台阶数");
int n =Convert .ToInt32(Console.ReadLine());
static int frog(int n)
{
if (n == 1) return 1;
if (n == 2) return 2;
return frog(n-1)+frog(n-2);
}
Console.WriteLine(frog(n));*/
//移盘子
Console.WriteLine("请输入盘子数:");
int n = Convert.ToInt32(Console.ReadLine());
static void hanoi(int n, string start, string middle, string end)
{
if (n == 1)
{
Console.WriteLine("从{0}经过{1}移到{1}", start, middle, end);
}
hanoi(n - 1, start, end, middle);//将n-1一个盘子移到中间的柱子上
hanoi(1, start, middle, end);
//剩下n-1个盘子
hanoi(n - 1, middle, start, end);
}
hanoi(n, "A", "B", "C");
//常量 const关键字
const int num = 1;
//枚举类型
}
}
}