1008

77 阅读1分钟

image.png

            Console.Write("输入:text=");
            string str = Console.ReadLine();
            int[] num = new int[7];
            for (int i = 0; i < str.Length; i++)
            {

                if (str[i] == 'b')
                {
                    num[0]++;
                }
                else if (str[i] == 'a')
                {
                    num[1]++;
                }
                else if (str[i] == 's')
                {
                    num[2]++;
                }
                else if (str[i] == 'k')
                {
                    num[3]++;
                }
                else if (str[i] == 'e')
                {
                    num[4]++;
                }
                else if (str[i] == 't')
                {
                    num[5]++;
                }
                else if (str[i] == 'l')
                {
                    num[6]++;
                }
            }
            num[0] /= 2;
            num[1] /= 2;
            num[6] /= 2;
            int minnum = num.Min();
            Console.WriteLine("输出:{0}", minnum);

2.数组转换成字符串

             int[] intArray = {1,2,3,4,5};
             int[] intArray1 = new int[5] {1,8,5,9,5};
             Console.WriteLine(string.Join(" ", intArray1));

3.字符串转换成数组

             string str = "1,2,3,4,5";
             string[] intArray2 = str.Split(",");

4.判断是否为真素数(数字翻转之后还是素数)

static bool isPrime(int num)
            {
                for(int i = 2; i < num; i++)
                {
                    if (num % i == 0)
                        return false;
                }
                return true;//上面循环没有一次执行if中的语句   那就是素数
            }
            //创建一个方法将数字翻转
            static int getReverse(int num)
            {
                string strNum = Convert.ToString(num);
                string strNum2 = "";
                for(int i = strNum.Length - 1; i >= 0; i--)
                {
                    strNum2 += strNum[i];
                }
                return Convert.ToInt32(strNum2);
            }
            //传入两个数
            string str = Console.ReadLine();
            string[] intArray = str.Split(" ");
            int M = Convert.ToInt32(intArray[0]);
            int N = Convert.ToInt32(intArray[1]);
            string strout = "";
            //循环遍历M到N的数判断是否为真素数
            for(int i = M; i <= N; i++)
            {
                if (isPrime(i) && isPrime(getReverse(i)))
                {
                    if (strout == "")
                    {
                        strout += i;
                    }
                    else
                    {
                        strout += "," + i;
                    }
                }
            }
            if (strout == "")
            {
                Console.WriteLine("NO");
            }
            else
            {
                Console.WriteLine(strout);
            }

5.输出一个数的数字因子(和比自己小的数相除之后余数为0)

int num = Convert.ToInt32(Console.ReadLine());
            getDivisor(num);
            static int getDivisor(int num)
            {
                for(int i = 1; i <= num; i++)
                {
                    if (num % i == 0)
                    {
                        Console.WriteLine(i);
                    }
                }
                return 0;
            }

6.输出斐波那契数列(前两个数的和等于第三个数)

static int fib(int n)
            {
                if (n == 1 || n == 2) return 1;
                return fib(n - 1) + fib(n - 2);
            }
            int num = Convert.ToInt32(Console.ReadLine());
            for(int i = 1; i <= num; i++)
            {
                Console.Write(fib(i) + " ");
            }

7.1x1+2x2+...+kxk<2000,求k的最大值

static int getfk(int k)
            {
                if (k == 1) return 1;
                return getfk(k - 1) + k * k;//f(k)=f(k-1)+k*k
            }
            int i = 1;
            while (true)
            {
                if (getfk(i) >= 2000)
                    break;
                i++;
            }
            Console.WriteLine(i - 1);

8.猴子吃桃

image.png

static int getp(int day)
            {   
                if (day == 10) return 1;
                return (getp(day + 1)+1) * 2;
            }
            for(int i = 1; i <= 10; i++)
            {
                Console.WriteLine("第{0}天的桃子数:{1}", i, getp(i));
            }