经典算法题

发布时间 : 星期六 文章经典算法题更新完毕开始阅读

}

int main(int argc, char* argv[]) {

find(0, 0);

}

3、递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)

int find(char *str, int n) {

if(n<=1) return 1;

else if(str[0]==str[n-1]) return find(str+1, n-2);

else return 0;

}

int main(int argc, char* argv[]) {

char *str = \

printf(\

}

4、组合问题(从M个不同字符中任取N个字符的所有组合)

void find(char *source, char *result, int n) {

if(n==1) {

while(*source)

printf(\

} else {

int i, j;

for(i=0; source != 0; i++);

for(j=0; result[j] != 0; j++);

for(; i>=n; i--) {

result[j] = *source++;

result[j+1] = '\\0';

find(source, result, n-1);

}

}

}

int main(int argc, char* argv[]) {

int const n = 3;

char *source = \

if(n>0 && strlen(source)>0 && n<=strlen(source))

find(source, result, 3);

}

5、分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)

void prim(int m, int n) {

if(m>n) {

while(m%n != 0) n++;

m /= n;

prim(m, n);

printf(\

}

}

int main(int argc, char* argv[]) {

int n = 435234;

printf(\

联系合同范文客服:xxxxx#qq.com(#替换为@)