1.函数
static void Main(string[] args)
{
test(1);
test(1,2);
}
static void test(int a, int b = 1)
{
Console.WriteLine(a+b);
}

2.求整数m和n之间的真素数(包括m,n),13是真素数,因为13的反序31还是素数
static void Main(string[] args)
{
Console.WriteLine(string.Join("," , getPrimeNumber(10, 35).ToArray()))
}
//判断一个数是否是素数
static bool isPrimeNumber(int n) {
for (int i = 2
{
if (n%i==0)return false
}
return true
}
//将一个数字反转
static int reverseNumber(int n)
{
int v = 0
while (n!=0)
{
v = v * 10 + n % 10
n = n / 10
}
return v
}
static ArrayList getPrimeNumber(int m,int n) {//设m>n
ArrayList arr = new ArrayList()
if (m<n)
{
int c = m
m = n
n = c
}
for (int i = n
{
if (isPrimeNumber(i) && isPrimeNumber(reverseNumber(i)))
{
arr.Add(i)
}
}
return arr
}

3.方法中的参数数组
static void Main(string[] args)
{
test(1, 2, 3, 4);
}
static void test(int a,params int[] b) {
}
4.方法中返回多个参数
static void Main(string[] args)
{
test(out 1, out 2, ref 3, 4);
}
static string test(out int a,out int b,ref int c,string d)
{
a = 3;
b = 3;
return d;
}
5.定义一个函数Max,用来取得一个数组中的最大值
static void Main(string[] args)
{
Console.WriteLine(Max(1, 23, 4, 4, 31));
}
static int Max(params int [] a) {
int max = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i]>max)
{
max = a[i];
}
}
return max;
}

6.定义一个函数getDivisor,用来取得一个数字的所有因子,把所有因子返回
static void Main(string[] args)
{
Console.WriteLine(String.Join(",",getDivisor(100).ToArray()));
}
static ArrayList getDivisor(int a)
{
ArrayList array = new ArrayList();
for (int i = 1; i <= a; i++)
{
if (a % i==0)
{
array.Add(i);
}
}
return array;
}

7.编写一个方法来判断用户输入用户名和密码是否正确,返回用户一个登录结果,并且还要单独返回一个登录信息,如果用户名错误,除了返回登录结果之外,还要返回一个“用户名错误”,“密码错误”的提示信息
static void Main(string[] args)
{
string a = Console.ReadLine()
string b = Console.ReadLine()
string msg=""
bool result = login(a,b,out msg)
Console.WriteLine(result)
Console.WriteLine(msg)
}
static bool login(string a, string b,out string msg)
{
string a1 = "小王"
string b1 = "123"
bool result = false
msg = ""
if (a==a1&&b==b1)
{
msg = "登录成功"
result = true
}
else if (a != a1)
{
msg = "用户名错误"
}
else if (b!=b1)
{
msg = "密码错误"
}
return result
}

8.求斐波那契数列1 1 2 3 5 8 13 21 34 输入:4 输出 1 1 2 3
static void Main(string[] args)
{
//递归
for (int i = 1
{
Console.Write(FibD(i)+" ")
}
//交换
Fib(7)
}
static int FibD(int n) {
if (n==1 || n==2){
return 1
}
return FibD(n - 1) + FibD(n - 2)
}
static void Fib(int n) {
int p1 = 0
int p2 = 1
int c = 0
Console.Write("1 ")
for (int i = 1
{
c = p1 + p2
Console.Write("{0} ", c)
p1 = p2
p2 = c
}
}
9.有关系式1 * 1+2 * 2+3 * 3+...k * k<2000,编一个程序,求出满足此关系的k的最大值,利用递归和循环解决这个问题
static void Main(string[] args)
{
calculationK();
int k = 1;
while (calculationD(k)<2000)
{
k++;
}
Console.WriteLine(k-1);
}
static void calculationK() {
int sum = 0;
int i = 1;
while (true) {
sum += i * i;
if (sum>2000)
{
Console.WriteLine(i - 1);
break;
}
i++;
}
}
static int calculationD(int n) {
if (n==1)
{
return 1;
}
return calculationD(n - 1) + n * n;
}

10.猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半, 又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子?并反向打印每天所剩桃子数。
static void Main(string[] args)
{
for (int i = 1; i <= 10; i++)
{
Console.WriteLine("第{0}天{1}个桃子",i,peach(i));
}
}
static int peach(int n) {
if (n==10)
{
return 1;
}
return (peach(n+1)+1)*2;
}