.NET面试常考算法
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.冒泡排序
//冒泡排序类
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();
}
}
4.请编写一个函数,能够计算10以内数的阶乘,尽量采用递归算法。(10!=3628800)。
public int jiecheng(int n)
{
if (n == 1)
return 1;
else if (n == 2)
return 2;
else
return n * jiecheng(n - 1);
}
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# 取两个数组的相同元素
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面试常考算法的更多相关文章
- PHP面试常考内容之Memcache和Redis(1)
你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点 ...
- 前端面试常考知识点---CSS
前端面试常考知识点---js 1.CSS3的新特性有哪些 点我查看 CSS3选择器 . CSS3边框与圆角 CSS3圆角border-radius:属性值由两个参数值构成: value1 / valu ...
- BFS与DFS常考算法整理
BFS与DFS常考算法整理 Preface BFS(Breath-First Search,广度优先搜索)与DFS(Depth-First Search,深度优先搜索)是两种针对树与图数据结构的遍历或 ...
- Leetcode——二叉树常考算法整理
二叉树常考算法整理 希望通过写下来自己学习历程的方式帮助自己加深对知识的理解,也帮助其他人更好地学习,少走弯路.也欢迎大家来给我的Github的Leetcode算法项目点star呀~~ 二叉树常考算法 ...
- PHP面试常考之会话控制
你好,是我琉忆,欢迎您来到PHP面试专栏.本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面试常考之会话控制周三:PHP面试常考之网络协议周五:PHP面试常考题之会话控制和网络 ...
- PHP面试常考内容之Memcache和Redis(2)
你好,是我琉忆.继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读.本周(2019.2-18至2-22) ...
- PHP面试常考内容之面向对象(3)
PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容.继上一篇"PHP面试常考内容之面向对象(2)"发表后,今天更新面向对象的最后一篇(3).需要(1),(2 ...
- PHP面试常考内容之面向对象(2)
PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容.继上一篇"PHP面试常考内容之面向对象(1)"发表后,今天更新(2),需要(1)的可以直接点击文字进行跳 ...
- PHP面试常考内容之面向对象(1)
PHP中面向对象常考的知识点有以下几点,我将会从以下几点进行详细介绍说明,帮助你更好的应对PHP面试常考的面向对象相关的知识点和考题. 整个面向对象文章的结构涉及的内容模块有: 一.面向对象与面向过程 ...
随机推荐
- 《java第一季之入门篇》的想法
学习java也有一段时间了,但是考虑到自己现在上课.复习.考试等耗费很多时间,感觉没有静下心来的时间去写一个长期的博客.计划今年7月1号开始写一套关于java的入门篇博客文章,入门篇计划这样--涵盖j ...
- Oracle EBS 重新编译无效对象 invalid object
1. 查看数据库中的无效对象 check oracle object SQL> select count(*) from dba_objects where status= ...
- Understanding Android Security(安卓安全的理解)
论文作者: Enck, William Ongtang, MacHigar McDaniel, Patrick 下一代的开放操作系统不会在个人主机和大型主机上出现,而是在只能手机上.新环境的开放性将会 ...
- 如何修改新建脚本模板-ScriptTemplates(Unity3D开发之十五)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44957631 ...
- 11个超棒的iOS开发学习网站
原文:11 Insanely Great iOS Developers Sites 永不止步地向他人学习 我相信,要想从一个"还不错"的人变成一个卓越的人,我们需要不停地向他人学习 ...
- WinCE中断结构分析
前一段时间研究了一下WinCE下的中断结构,整理了一下,希望与大家讨论. 最下面有PDF版本下载,便于保存 版权申明:本文版权归ARMCE所有,转载请保留所有原文内容及 ARMCE标识并注明出 自 A ...
- leetCode之旅(14)-Number of 1 Bits
题目描述: Write a function that takes an unsigned integer and returns the number of '1' bits it has (als ...
- 如何修改和查看tomcat内存大小
为了解决tomcat在大进行大并发请求时,出现内存溢出的问题,请修改tomcat的内存大小,其中分为以下两种方式: 一.使用 catalina.bat 等命令行方式运行的 tomcat 查看系统最大支 ...
- Emit方式调用方法
object objRet = Delegate.CreateDelegate(typeof(Func<Guid, int, decimal>), inst, "HelloWor ...
- springboot + mybatis 前后端分离项目的搭建 适合在学习中的大学生
人生如戏,戏子多半掉泪! 我是一名大四学生,刚进入一家软件件公司实习,虽说在大学中做过好多个实训项目,都是自己完成,没有组员的配合.但是在这一个月的实习中,我从以前别人教走到了现在的自学,成长很多. ...