摘要:前几天有个同学去面试厦门极致游戏的时候碰到了这个题。先来看下质数的定义: 质数又称素数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他任何自然数整除的数。 需要注意的是1不是质数。后来在网上发现了一个代码很简洁的解法,把它贴出来 1 void func() 2 { 3 int i, j; 4 for (i = 2; i <= 100; i++) 5 { 6 for (j = 2; j <= i-1; j++) 7 { 8 if (i % j == 0) 9 break...
阅读全文
摘要:笔试绿盟科技的时候碰到这道题,光知道应该用递归来做,可是当时想了好久都没有想出来,后来找到CSDN上MoreWindows的博客里有详细的介绍。题目是这样的: 用C++写一个函数:实现数组或者字符串的全排列。解题思想是:从第一个数字起,分别同它之后的数字交换。比如 123 ,一个数字分别跟第二个,第三个交换,生成数列 213 和 321, 那么现在有三个 数列,分别是123 213 321 然后从第二个数字开始,往后交换, 123 可以生产数列 123 132 213 可以生成数列 213 231 321 可以生成数列 321 312这样就生成了所有的排列。代码,参...
阅读全文
摘要:这个题也是经常会考的题了, 1 int func(int array[], int len) 2 { 3 int first = array[0]; 4 int second = array[1]; 5 if (array[0] > array[1]) 6 { 7 first = array[1]; 8 second = array[0]; 9 } 10 for (int i = 2; i < len; i++)11 {12 if (array[i] > first)13 ...
阅读全文
摘要:这个题也是在笔试赶集网时碰到的,好像前一段时间笔试绿盟科技的时候也有这道题 1 bool func(int arr[], int n) 2 { 3 if (1 == n) 4 return true; 5 if (2 == n) 6 { 7 return arr[n] >= arr[n-1]; 8 } 9 return func(arr, n-1) && arr[n] >= arr[n-1];10 }测试一下:1 int main(int argc, char *argv[])2 {3 int ar...
阅读全文
摘要:之前笔试上海网达的时候碰到这道题:先用非递归来做: 1 int func(int n) 2 { 3 if ( 0 == n) 4 return 0; 5 int ans = 1; 6 for (int i = n; i >=1; --i) 7 { 8 if (i == 1) 9 {10 cout << 1 << endl;11 break;12 } 13 cout << i << "*"; 14 an...
阅读全文
摘要:直接插入排序的思想是,把数组分成两部分,前面的部分是已经排好序的,将待插入的数字,一个个对比之前排好的数列,找到合适的位置并插入其中,此位置之后的数字往后移一位。如 数列 1,3,4,5,6, 要将2插入到前面去,就是从6开始比对,6比2大,就比对前一位,直到找到比2小的那个位置。插入之后,后面所有数字向后移动一位。 1 void sort(int arr[], int len) 2 { 3 4 for (int i = 1; i < len; ++i) //从数列第一个开始插入,一共插入len-1次 5 { 6 int j; 7 ...
阅读全文
摘要:快排算法,在计算机面试中会经常被问到,这个一定得熟记总结了一下,快排的步骤:1.设置一个Key值等于array[0], 然后从数列尾部向前遍历,若array[high] > Key, high--;直到aray[high] <= Key; 然后把这个值赋给array[low];2.从数列首开始向后遍历,若array[low] < Key ,low++;直到array[low] >= Key,然后把这个值赋给array[high];3.把目前停留位置的值赋为Key ,也就是array[low] = Key;这是一趟排序,然后分成两部分,重复1-3 步骤。具体C++程序如下
阅读全文
摘要:前两天参加赶集网笔试的时候,碰见这么一道题给定一个5乘5矩阵1 2 3 456 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25螺旋把它打印出来,就是打印顺序是 1 2 3 4 5 10 15 20 25 24 23 22 21 16 11 6 7 8 9 14 19 18 17 12 13void func(){ int array[5][5] = {{1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15}, {16,17,18,19...
阅读全文