1.求质数    质数也成为素数,质数就是这个数除了1和他本身两个因数以外,没有其他因数的数,叫做质数,和他相反的是合数,    就是除了1和他本身两个因数以外,还友其他因数的数叫做合数。

 1  namespace ConsoleApp
2 {
3 class Program
4 {
5 static void Main(string[] args)
6 {
7 long i;
8 while (true)
9 {
10 Console.Write("请输入要计算的质数(0退出):");
11 i = long.Parse(Console.ReadLine());
12 if (i == 0) break;
13 DateTime t1 = DateTime.Now;
14 switch (i)
15 {
16 case 1: Console.WriteLine("1 不是质数!"); break;
17 case 2: Console.WriteLine("2 是质数!"); break;
18 default: cal(i); break;
19 }
20 DateTime t2 = DateTime.Now;
21 Console.WriteLine("时间为:{0} 毫秒\n", (t2 - t1).Ticks / 10000f);
22 }
23 }
24
25 //以下为函数部分
26 static void cal(long x)
27 {
28 long sum = 1;
29 byte row = 1;
30 Console.Write("\n");
31 for (long a = 3; a < x + 1; a++)
32 {
33 bool flag = true;
34 for (long b = 2; b < (a / 2) + 1; b++)
35 {
36 if (a % b != 0) continue;
37 flag = false;
38 break;
39 }
40 if (flag)
41 {
42 if (row == 10) { Console.WriteLine(); row = 0; }
43 if (sum == 1) Console.Write("{0,7}", 2);
44 Console.Write("{0,7}", a);
45 sum++; row++;
46 }
47 }
48 Console.WriteLine("\n\n{0} 以内共有 {1} 个质数\n", x, sum);
49 }
50 }
51 }

2.有一列数1,1,2,3,5,........求第30个数.

 1   public static int Foo(int i)
2 {
3 if (i <= 0)
4 return 0;
5 else if (i > 0 && i <= 2)
6 return 1;
7 else
8 return Foo(i - 1) + Foo(i - 2);
9 }
10

3.冒泡排序

按 Ctrl+C 复制代码

//冒泡排序类
public class sorter
{
public void Sort(int[] list)
{
int i, j, temp;
bool done = false;
j = 1;
while ((j < list.Length) && (!done))
{
done = true;
for (i = 0; i < list.Length - j; i++)
{
if (list[i] > list[i + 1])
{
done = false;
temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
}
}
j++;
}
}
}

//调用代码
class Program
{
static void Main(string[] args)
{
int[] arrary = new int[] { 1, 5, 15, 19, 34, 55, 54, 2, 97, 13, 34, 100, 79, 22 };
sorter sh = new sorter();
sh.Sort(arrary);
for (int i = 0; i < arrary.Length; i++)
{
Console.Write(arrary[i]);
Console.Write(",");
}

Console.ReadKey();
}
}

按 Ctrl+C 复制代码

4.请编写一个函数,能够计算10以内数的阶乘,尽量采用递归算法。(10!=3628800)。

按 Ctrl+C 复制代码

public int jiecheng(int n)
{
if (n == 1)
return 1;
else if (n == 2)
return 2;
else
return n * jiecheng(n - 1);
}

按 Ctrl+C 复制代码

5 请编程实现此方法。将输入的整型数组,合并转换为逗号分隔的字符串。

例如输入参数为整型数组{9,7,2},那么输出结果为字符串"9,7,2"。

1 private static string Combine(int[] data)
2 {
3 string str = "";
4 foreach (int s in data)
5 {
6 str += s.ToString() + ",";
7 }
8 return str;
9 }

6.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

 1 //产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。
2 int[] arr = new int[100];
3 ArrayList myList = new ArrayList();
4 Random rad = new Random();
5 while (myList.Count < 100)
6 {
7 int num = rad.Next(1, 101);
8 if (!myList.Contains(num))
9 {
10 myList.Add(num);
11 }
12 }
13 for (int i = 0; i < 100; i++)
14 {
15 arr[i] = (int)myList[i];
16 }
17 for (int i = 0; i < arr.Length; i++)
18 {
19 Console.Write(arr[i] + ",");
20 }
21 Console.ReadKey();

7.请将字符串"I am a student"按单词逆序输出 如"student a am I"

string S = "I am a student";
char[] C = new char[] { ' '};
string[] n =S.Split(C);
int length = S.Length;
for (int i =length-1 ; i >=0; i--)
{
Console.Write(n[i]);
if (i != 0)
{
Console.Write(" ");
}
}

8.C# 取两个数组的相同元素

摘要: 以往我们都是肯定绞尽脑汁,肯定什么循环,元素大小,什么因素都考虑进去。但是现在采用Linq可以很好的解决这个问题。找出两个或多个数组的相同项。代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceTest4_03
{
classProgram
{
staticvoidMain(string[] args)
{
string[] names = {"Adams","Arthur","Buchanan","Tsbuchis","ShCian","FuchsiaLinda","DecheChen","Lotheer","FindLanciCade", "SorchLand","JiangZheng","MisiiLoda","Gtod","Dfac","Lama","BakCades","Losangle","ZheWQ","GehengDahaLothi","ToryLandey", "DakaLothy","BthLanda","MenNorth","Fith","FoxMain","DontM","Saobba","Del","Sala","Ghero","BhthLaPhda"};
IEnumerable<string> skip = names.Skip(10);
IEnumerable<string> take = names.Take(11);
//取出两个序列中交集部分,按理论应该输出JiangZheng
IEnumerable<string> intersect = skip.Intersect(take);
foreach(varsinintersect)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
}
}

.NET面试常考算法的更多相关文章

  1. PHP面试常考内容之Memcache和Redis(1)

    你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点 ...

  2. 前端面试常考知识点---CSS

    前端面试常考知识点---js 1.CSS3的新特性有哪些 点我查看 CSS3选择器 . CSS3边框与圆角 CSS3圆角border-radius:属性值由两个参数值构成: value1 / valu ...

  3. BFS与DFS常考算法整理

    BFS与DFS常考算法整理 Preface BFS(Breath-First Search,广度优先搜索)与DFS(Depth-First Search,深度优先搜索)是两种针对树与图数据结构的遍历或 ...

  4. Leetcode——二叉树常考算法整理

    二叉树常考算法整理 希望通过写下来自己学习历程的方式帮助自己加深对知识的理解,也帮助其他人更好地学习,少走弯路.也欢迎大家来给我的Github的Leetcode算法项目点star呀~~ 二叉树常考算法 ...

  5. PHP面试常考之会话控制

    你好,是我琉忆,欢迎您来到PHP面试专栏.本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面试常考之会话控制周三:PHP面试常考之网络协议周五:PHP面试常考题之会话控制和网络 ...

  6. PHP面试常考内容之Memcache和Redis(2)

    你好,是我琉忆.继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读.本周(2019.2-18至2-22) ...

  7. PHP面试常考内容之面向对象(3)

    PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容.继上一篇"PHP面试常考内容之面向对象(2)"发表后,今天更新面向对象的最后一篇(3).需要(1),(2 ...

  8. PHP面试常考内容之面向对象(2)

    PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容.继上一篇"PHP面试常考内容之面向对象(1)"发表后,今天更新(2),需要(1)的可以直接点击文字进行跳 ...

  9. PHP面试常考内容之面向对象(1)

    PHP中面向对象常考的知识点有以下几点,我将会从以下几点进行详细介绍说明,帮助你更好的应对PHP面试常考的面向对象相关的知识点和考题. 整个面向对象文章的结构涉及的内容模块有: 一.面向对象与面向过程 ...

随机推荐

  1. UML之概述

              UML,英文名曰:Unified  Modeling Language,她还有个中文名字叫统一建模语言,简单的来说,她就是一种绘制软件蓝图的标准语言.她的表达能力特别强,可以描述开 ...

  2. ibatis中多表联接查询

     目前,我在做项目的时候,用到了spring + struts2 +ibatis 框架.平时用到的都是一张简单的表,来进行数据的增.删.改.查.而现在突然需要用到其它的一张表,或多张表进行联接查询 ...

  3. SharePoint WebPart 简单的读取列表内容的web部件

    最近,自己也在学习写一些SharePoint的部件,也就是使用对象模型,下面,介绍一下自己刚刚写的小测试程序,不足之处,还请指正. 1.  新建项目 Vs2008 – 新建 – 项目 – 类库 – 输 ...

  4. ELF 动态链接 - so 的 重定位表

    动态链接下,无论时可执行文件还是共享对象,一旦对其他共享对象有依赖,也就是所有导入的符号时,那么代码或数据中就会有对于导入符号的引用.而在编译时期这些导入符号的确切地址时未知的.只有在运行期才能确定真 ...

  5. Java IO学习--(二)文件

    在Java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这篇文章不会对每一个技术细节都做出解释,而是会针对文件存取的方法提供给你一些必要 ...

  6. Flask-email 发送邮件的配置,发送附件的方法,以及os.environ.get('MAIL_USERNAME')为None的解决办法

    一.发送邮件的配置 在学习flask-mail来发送电子邮件的时候遇到了一些问题,其实都是些小问题,现在记录下来以便于以后查看. 1.首先flask-mail的安装 pip install flask ...

  7. Python_linux环境变量和软链接(个人理解)

    --------------------------------------- 最近在服务器上想运行个脚本,装了个python3.6,但是他还自带了个2.7版本,后来发现上面还有3.5版本的pytho ...

  8. JavaScript继承详解

    面向对象与基于对象 在传统面向对象的语言中,有两个非常重要的概念 - 类和实例. 类定义了一类事物公共的行为和方法:而实例则是类的一个具体实现. 我们还知道,面向对象编程有三个重要的概念 - 封装.继 ...

  9. Read程序员的困境有感

    看完这篇文章,我真的害怕了,码农遍地都是,我就是,改变从今天做起,不走码农生活 首先, 打造你自己的私人项目.你需要不断地打磨自己的技艺.如果工作本身并不能帮助你做到这一点,就捡起那些你感兴趣的问题, ...

  10. 教你一步步发布一个开源库到 JCenter

    今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...