|
<span id="post1" style="FONT-SIZE: 12px; COLOR: #000000;">题目如下:<br/><br/>题目:解答下面的隐藏等式,其中的M和E的值可以互换,但不允许第一位是0。<br/>WWWDOT - GOOGLE = DOTCOM <br/><br/>解答代码:<br/>/*******************************/ <br/>/* Q:WWWDOT-GOOGLE=DOTCOM */ <br/>/* A:777589-188103=589486 */ <br/>/* 777589-188106=589483 */ <br/>/*******************************/ <br/><br/><br/>#include <stdio.h> <br/><br/>void getans(int num[], int n_tmp) //通过递归调用对num_0_9数组进行组合排序 <br/>{ <br/> int tmp; <br/> int w,d,o,t,g,l,e,c,m,wwwdot,google,dotcom; <br/> if(n_tmp == 1){ <br/> w = num[0]; <br/> d = num[1]; <br/> o = num[2]; <br/> t = num[3]; <br/> g = num[4]; <br/> l = num[5]; <br/> e = num[6]; <br/> c = num[7]; <br/> m = num[8]; <br/> wwwdot = w*111000 + d*100 + o*10 + t; <br/> google = g*100100 + o*11000 + l*10 + e; <br/> dotcom = d*100000 + o*10010 + t*1000 + c*100 + m; <br/><br/> //其中的M和E的值可以互换,但不允许第一位是0。 <br/> if(w!=0 && g!=0 && d!=0) <br/> if((wwwdot - google == dotcom) || (wwwdot - (google - e + m) == (dotcom - m + e))) <br/> printf("%d - %d = %d\n",wwwdot,google,dotcom); <br/> } <br/> else{ <br/> for(int i = 0; i < n_tmp; i++){ <br/> tmp=num; num=num[n_tmp-1]; num[n_tmp-1]=tmp; <br/> getans(num, n_tmp-1); <br/> tmp=num; num=num[n_tmp-1]; num[n_tmp-1]=tmp; <br/><br/> } <br/> } <br/>} <br/><br/>void main() <br/>{ <br/> int n = 10; <br/> int num_0_9[]={0,1,2,3,4,5,6,7,8,9}; <br/><br/> getans(num_0_9, n); <br/><br/>} <br/></span> |
|