.Net Core 笔试1

1、用两个线程一个输出字母一个输出数字,交替输出Chat数组

cs 复制代码
            char[] aI = "1234567".ToCharArray();
            char[] aC = "ABCDEFG".ToCharArray();
            Task task1 = null;
            Task task2 = null;

            task1 = Task.Run(() =>
            {
                foreach (var item in aI)
                {
                    Console.WriteLine(item);
                    task1.Wait(100);
                }
            });
            task2 = Task.Run(() =>
            {
                foreach (var item in aC)
                {
                    Console.WriteLine(item);
                    task2.Wait(100);
                }
            });
            Task.WaitAll(task1, task2);
            Console.ReadLine();

2、用C#代码获取文件夹里及子文件夹所有文件名

cs 复制代码
        static void Main(string[] args)
        {
            string filePath = @"E:\笔记";
            string[] strs = Directory.GetFiles(filePath, "*", SearchOption.AllDirectories);
            foreach (var item in strs)
            {
                Console.WriteLine(item);
            }
        }

3、二分查找

cs 复制代码
        //二分查找
        public static int Erfen(int[] ints, int target)
        {
            int left = 0, right = ints.Length - 1;
            
            while(left < right)
            {
                int mid = left + (right - left) / 2;
                if (ints[mid] == target)
                {
                    return mid;
                }else if (ints[mid] < target)
                {
                    left = mid + 1;
                }
                else
                {
                    right = mid - 1;
                }
            }
            return -1;
        }

4、斐波那契数列

cs 复制代码
using System.Collections;
using System.Text.Json;
namespace Test1
{
    internal class Program
    {
       
        static void Main(string[] args)
        {
            Console.WriteLine("Feibo1");
            Console.WriteLine(Feibo1(1));
            Console.WriteLine(Feibo1(2));
            Console.WriteLine(Feibo1(3));
            Console.WriteLine(Feibo1(4));
            Console.WriteLine(Feibo1(5));
            Console.WriteLine("Feibo2");
            Console.WriteLine(Feibo2(1));
            Console.WriteLine(Feibo2(2));
            Console.WriteLine(Feibo2(3));
            Console.WriteLine(Feibo2(4));
            Console.WriteLine(Feibo2(5));
            Console.WriteLine("Feibo3");
            foreach (var item in Feibo3().Take(10))
            {
                Console.WriteLine(item);//斐波那契数列
            }
        }


        //递归
        public static int Feibo1(int n)
        {
            if (n == 1)
            {
                return 0;
            }
            if (n == 2 || n == 3) { return 1; }
            if (n > 3)
            {
                return Feibo1(n-2)+Feibo1(n-1);
            }
            return 0;
        }

        //迭代循环
        public static int Feibo2(int n)
        {
            if (n == 1)
            {
                return 0;
            }
            if (n == 2) { return 1; }

            int first = 0, second = 1, next = 0;
            for (int i = 3; i <= n; i++)
            {
                next = first + second;
                first = second;
                second = next;
            }
            return next;
        }
        
        //
        public static IEnumerable<int> Feibo3()
        {
            var (x, y) = (0, 1);
            yield return x;
            yield return y;

            while (true)
            {
                (x, y) = (y, x + y);
                yield return y;
            }
        }
    }
}
相关推荐
en.en..4 小时前
Linux 孤儿进程与僵尸进程
linux·运维·服务器
mldong7 小时前
你的 Vue3 项目也能有钉钉同款审批流设计器:npm 装包,10 分钟画出第一条审批流
前端·vue.js
2分钟速写快排8 小时前
什么是 RAG?如何用 RAG 实现一个用户记忆?
前端·后端·ai编程
passerby60618 小时前
如何自己造一个时间处理库
前端·javascript·github
T1mzhou9 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
走到天涯海角9 小时前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!10 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
北岛贰10 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
Cx330❀10 小时前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程