.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;
            }
        }
    }
}
相关推荐
子洋4 分钟前
AI Agent 设计模式 - ReAct 模式
前端·人工智能·后端
木童6628 分钟前
Docker 容器化 Web 服务全流程实践(含网络深度场景)
前端·网络·docker
一字白首11 分钟前
Vuex 进阶,模块化开发(Modules):解决单状态树臃肿问题
前端·javascript·vue.js
旧梦吟18 分钟前
脚本网页 linux内核源码讲解
linux·前端·stm32·算法·html5
李少兄1 小时前
深入理解 CSS :not() 否定伪类选择器
前端·css
wanhengidc2 小时前
物理服务器与云服务器的不同之处
运维·服务器·网络·游戏
Lucky小小吴2 小时前
ClamAV扫描速度提升6.5倍:服务器杀毒配置优化实战指南
java·服务器·网络·clamav
kaoa0002 小时前
Linux入门攻坚——58、varnish入门
linux·运维·服务器
安当加密2 小时前
通过ASP认证系统作为 RADIUS 认证服务器:解决异地办公登录安全问题的实践方案*
运维·服务器·安全