day06_22_10_8

105 阅读1分钟

C#基础

param 参数数组

// params : 将传入的参数转换为 int[]
static int getMax(params int[] arr)
{

    return arr.Max();
}

static void Main()
{
    Console.WriteLine(getMax(12, 34, 22, 11, 43));
}

练习 区间内的真素数

/// <summary>
    /// 区间内的真素数 使用函数
    /// 找出正整数M和N之间(N不小于M)的所有真素数。真素数的定义︰如果一个正整数P为素数,且其反序也为素数,那么Р就为真素数。例如,11,13均为真素数,因为11的反序还是为11,13的反序为31也为素数。
    /// 输入格式∶输入两个数M和N,空格间隔,1<=M<=N <= 100000。输出格式∶按从小到大输出M和N之间(包括M和N)的真素数,逗号间隔。如果之间没有真素数,则输出No
    /// 输入样例∶10 35
    /// 输出样例∶11,13,17,19,31
    /// </summary>
class Class1
{

    static void Main(string[] args)
    {
        // 判断是否是素数
        static bool isPrime(int num)
        {
            for (int i = 2; i < num; i++)
            {
                if (num % i == 0) return false;
            }
            return true;

        }

        // 翻转
        static int getReverse(string strNum)
        {
            // 创建一个新的字符串
            string strNum2 = "";
            // 使用循环 遍历每个字符 再倒着拼接得出对应的字符串 --> 数
            for (int i = strNum.Length - 1; i > 0; i--)
            {
                strNum2 += strNum[i];
            }
            return Convert.ToInt32(strNum2);

        }

        int M = Convert.ToInt32(Console.ReadLine());
        int N = Convert.ToInt32(Console.ReadLine());
        string strNum3 = "";
        for (int i = M; i < N; i++)
        {
            if (isPrime(i) && isPrime(getReverse(Convert.ToString(i))))
            {
                if (strNum3 == "")
                {
                    strNum3 += i;
                }
                else
                {
                    strNum3 += "," + i;
                }
            }

        }
        Console.WriteLine(strNum3);
    }
}

递归 斐波那契数列

static int getNum(int num)
{
    if (num < 3)
        return 1;
    return getNum(num - 1) + getNum(num - 2); // 
}

Console.Write("输入数字:");
int num = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= num; i++)
{
    Console.Write(getNum(i) + " ");
}