Google面试题 (转载)
#16
再次优化第一题,用递归算法求解。

代码:
/*******************************/ /* Q:WWWDOT-GOOGLE=DOTCOM */ /* A:777589-188103=589486 */ /* 777589-188106=589483 */ /*******************************/ #include <stdio.h> void getans(int num[], int n_tmp) //通过递归调用对num_0_9数组进行组合排序 { int tmp; int w,d,o,t,g,l,e,c,m,wwwdot,google,dotcom; if(n_tmp == 1){ w = num[0]; d = num[1]; o = num[2]; t = num[3]; g = num[4]; l = num[5]; e = num[6]; c = num[7]; m = num[8]; wwwdot = w*111000 + d*100 + o*10 + t; google = g*100100 + o*11000 + l*10 + e; dotcom = d*100000 + o*10010 + t*1000 + c*100 + m; //其中的M和E的值可以互换,但不允许第一位是0。 if(w!=0 && g!=0 && d!=0) if((wwwdot-google==dotcom) || (wwwdot-(google-e+m) == (dotcom-m+e))) printf("%d - %d = %d\n",wwwdot,google,dotcom); } else{ for(int i = 0; i < n_tmp; i++){ tmp=num[i]; num[i]=num[n_tmp-1]; num[n_tmp-1]=tmp; getans(num, n_tmp-1); tmp=num[i]; num[i]=num[n_tmp-1]; num[n_tmp-1]=tmp; } } } void main() { int n = 10; int num_0_9[]={0,1,2,3,4,5,6,7,8,9}; getans(num_0_9, n); }
[ Last edited by 大花狗上树 on 2005-11-22 at 00:16 ]
请小心你的思想,它会影响你的行为,

请小心你的行为,它会影响你的习惯,

请小心你的习惯,它会影响你的性格,

请小心你的性格,它会影响你的命运。
回复


主题内容
Google面试题 (转载) - 由 Metmet - 2005-11-10 22:00
[无标题] - 由 叱咤风云№ - 2005-11-12 15:15
[无标题] - 由 羽扇纶巾 - 2005-11-12 19:26
[无标题] - 由 叱咤风云№ - 2005-11-18 21:28
[无标题] - 由 羽扇纶巾 - 2005-11-19 14:11
[无标题] - 由 酒旗风 - 2005-11-19 23:48
[无标题] - 由 羽扇纶巾 - 2005-11-20 12:08
[无标题] - 由 Metmet - 2005-11-20 21:09
[无标题] - 由 Metmet - 2005-11-20 21:50
[无标题] - 由 milan817 - 2005-11-20 22:25
[无标题] - 由 大花狗上树 - 2005-11-21 00:55
[无标题] - 由 大花狗上树 - 2005-11-21 01:46
[无标题] - 由 大花狗上树 - 2005-11-21 13:26
[无标题] - 由 大花狗上树 - 2005-11-21 17:18
[无标题] - 由 大花狗上树 - 2005-11-21 23:58
[无标题] - 由 酒旗风 - 2005-11-23 08:29
[无标题] - 由 羽扇纶巾 - 2005-11-25 20:30
[无标题] - 由 那时花开 - 2006-2-2 22:19
[无标题] - 由 leiyuss - 2006-2-2 22:38

跳转到:


正在阅读该主题的用户: 1位游客
您的访问已通过Cloudflare保护,访问自美国/loc=US。