找回密码
 欢迎注册
楼主: 无心人

[讨论] 再来个数字问题

[复制链接]
发表于 2010-6-22 11:17:22 | 显示全部楼层
总共688个结果:
58*7*3*2=609*4*1
58*7*3*2*1=609*4
7*6*5*4*3=280*9*1
7*6*5*4*3=90*28*1
7*6*5*4*3=28*10*9
7*6*5*4*3*1=280*9
7*6*5*4*3*1=90*28
28*6*5*3=90*7*4*1
28*6*5*3=70*9*4*1
28*6*5*3=40*9*7*1
28*6*5*3=10*9*7*4
28*6*5*3*1=90*7*4
28*6*5*3*1=70*9*4
28*6*5*3*1=40*9*7
28*7*5*3=490*6*1
28*7*5*3=60*49*1
28*7*5*3=49*10*6
28*7*5*3*1=490*6
28*7*5*3*1=60*49
504*3*2=9*8*7*6*1
504*3*2*1=9*8*7*6
504*6=9*8*7*3*2*1
504*6*1=9*8*7*3*2
108*7*4=56*9*3*2
280*4*3=96*7*5*1
40*28*3=96*7*5*1
30*28*4=96*7*5*1
280*4*3*1=96*7*5
40*28*3*1=96*7*5
30*28*4*1=96*7*5
28*10*4*3=96*7*5
45*28*3=90*7*6*1
45*28*3=70*9*6*1
45*28*3=60*9*7*1
45*28*3=10*9*7*6
45*28*3*1=90*7*6
45*28*3*1=70*9*6
45*28*3*1=60*9*7
504*8=96*7*3*2*1
504*8*1=96*7*3*2
507*4*2=169*8*3
507*8=169*4*3*2
507*8=39*26*4*1
507*8*1=39*26*4
708*6=59*24*3*1
708*6*1=59*24*3
72*5*4*3=90*8*6*1
72*5*4*3=80*9*6*1
72*5*4*3=60*9*8*1
72*5*4*3=10*9*8*6
72*5*4*3*1=90*8*6
72*5*4*3*1=80*9*6
72*5*4*3*1=60*9*8
720*6=9*8*5*4*3*1
72*60=9*8*5*4*3*1
720*6*1=9*8*5*4*3
270*16=9*8*5*4*3
160*27=9*8*5*4*3
72*60*1=9*8*5*4*3
72*10*6=9*8*5*4*3
27*8*5*4=160*9*3
27*8*5*4=90*16*3
27*8*5*4=30*16*9
378*6*2=504*9*1
378*6*2*1=504*9
760*3*2=95*48*1
760*3*2=48*19*5
76*30*2=95*48*1
76*30*2=48*19*5
76*20*3=95*48*1
76*20*3=48*19*5
760*3*2*1=95*48
76*30*2*1=95*48
76*20*3*1=95*48
76*10*3*2=95*48
780*3*2=195*6*4
78*30*2=195*6*4
78*20*3=195*6*4
78*15*4=390*6*2
78*15*4=60*39*2
78*15*4=39*20*6
780*6=195*4*3*2
780*6=39*24*5*1
780*6=39*15*4*2
780*6=13*9*5*4*2
78*60=195*4*3*2
78*60=39*24*5*1
78*60=39*15*4*2
78*60=13*9*5*4*2
780*6*1=39*24*5
78*60*1=39*24*5
78*10*6=39*24*5
78*6*5*2=130*9*4
78*6*5*2=90*13*4
78*6*5*2=40*13*9
4830=69*7*5*2*1
4830*1=69*7*5*2
483*10=69*7*5*2
483*5*2=690*7*1
483*5*2=70*69*1
483*5*2=69*10*7
483*5*2*1=690*7
483*5*2*1=70*69
360*14=9*8*7*5*2
140*36=9*8*7*5*2
35*24*6=90*8*7*1
35*24*6=80*9*7*1
35*24*6=70*9*8*1
35*24*6=10*9*8*7
36*14*5*2=90*8*7
36*14*5*2=80*9*7
36*14*5*2=70*9*8
35*24*6*1=90*8*7
35*24*6*1=80*9*7
35*24*6*1=70*9*8
360*7*2=14*9*8*5
70*36*2=14*9*8*5
36*20*7=14*9*8*5
840*3*2=16*9*7*5
84*30*2=16*9*7*5
84*20*3=16*9*7*5
87*15*4=290*6*3
87*15*4=60*29*3
87*15*4=30*29*6
870*6=29*15*4*3
87*60=29*15*4*3
84*65=390*7*2*1
84*65=70*39*2*1
84*65=39*20*7*1
84*65=39*10*7*2
84*65*1=390*7*2
84*65*1=70*39*2
84*65*1=39*20*7
1860*3=279*5*4
186*30=279*5*4
720*8=96*5*4*3*1
80*72=96*5*4*3*1
720*8*1=96*5*4*3
80*72*1=96*5*4*3
72*10*8=96*5*4*3
735*4*2=980*6*1
735*4*2=98*60*1
735*4*2=98*10*6
35*24*7=980*6*1
35*24*7=98*60*1
35*24*7=98*10*6
735*4*2*1=980*6
735*4*2*1=98*60
35*24*7*1=980*6
35*24*7*1=98*60
840*7=196*5*3*2
84*70=196*5*3*2
735*8=490*6*2*1
735*8=60*49*2*1
735*8=49*20*6*1
735*8=49*10*6*2
735*8*1=490*6*2
735*8*1=60*49*2
735*8*1=49*20*6
84*7*5*2=1960*3
84*7*5*2=196*30
24*17*5*3=680*9
24*17*5*3=90*68
360*17=85*9*4*2
170*36=85*9*4*2
85*36*2=170*9*4
85*36*2=90*17*4
85*36*2=40*17*9
765*8=340*9*2*1
765*8=90*34*2*1
765*8=34*20*9*1
765*8=34*10*9*2
765*8*1=340*9*2
765*8*1=90*34*2
765*8*1=34*20*9
3078*2=54*19*6
780*4*2=96*13*5
78*40*2=96*13*5
78*20*4=96*13*5
1074*6=358*9*2
72*6*5*3=180*9*4
72*6*5*3=90*18*4
72*6*5*3=40*18*9
45*8*6*3=720*9*1
45*8*6*3=90*72*1
45*8*6*3=72*10*9
45*8*6*3*1=720*9
45*8*6*3*1=90*72
18*6*5*4*3=720*9
18*6*5*4*3=90*72
270*8*3=45*16*9
80*27*3=45*16*9
30*27*8=45*16*9
72*18*5=90*6*4*3
72*18*5=60*9*4*3
72*18*5=40*9*6*3
72*18*5=30*9*6*4
35*24*8=960*7*1
35*24*8=96*70*1
35*24*8=96*10*7
35*24*8*1=960*7
35*24*8*1=96*70
63*54*2=108*9*7
108*63=54*9*7*2
3485*2=6970*1
3485*2=697*10
3485*2*1=6970
234*6*5=780*9*1
234*6*5=90*78*1
234*6*5=78*10*9
234*6*5*1=780*9
234*6*5*1=90*78
45*13*6*2=780*9
45*13*6*2=90*78
65*27*4=390*18
65*27*4=180*39
78*45*2=130*9*6
78*45*2=90*13*6
78*45*2=60*13*9
7056=294*8*3*1
7056=98*24*3*1
7056*1=294*8*3
7056*1=98*24*3
3548*2=7096*1
3548*2*1=7096
486*15=270*9*3
486*15=90*27*3
486*15=30*27*9
486*5*3=7290*1
486*5*3=729*10
486*5*3*1=7290
1054*7=3689*2
576*13=208*9*4
420*6*3=15*9*8*7
60*42*3=15*9*8*7
42*30*6=15*9*8*7
36*15*7*2=840*9
36*15*7*2=90*84
12*7*6*5*3=840*9
12*7*6*5*3=90*84
84*6*5*3=120*9*7
84*6*5*3=90*12*7
84*6*5*3=70*12*9
35*27*8=140*9*6
35*27*8=90*14*6
35*27*8=60*14*9
180*7*6=35*24*9
70*18*6=35*24*9
60*18*7=35*24*9
3845*2=7690*1
3845*2=769*10
3845*2*1=7690
107*24*3=856*9
3857*2=406*19
387*5*4=1290*6
387*5*4=129*60
206*38=1957*4
7830=45*29*6*1
7830*1=45*29*6
783*10=45*29*6
42*38*5=190*7*6
42*38*5=70*19*6
42*38*5=60*19*7
38*7*6*5=420*19
38*7*6*5=190*42
306*27=459*18
2760*3=184*9*5
276*30=184*9*5
308*27=154*9*6
1043*8=596*7*2
465*18=2790*3
465*18=279*30
186*45=2790*3
186*45=279*30
8370=465*9*2*1
8370*1=465*9*2
837*10=465*9*2
708*12=59*36*4
307*14*2=8596
720*4*3=96*18*5
72*40*3=96*18*5
72*30*4=96*18*5
8652=309*7*4*1
8652*1=309*7*4
1465*3*2=8790
630*14=28*9*7*5
140*63=28*9*7*5
420*7*3=98*15*6
70*42*3=98*15*6
42*30*7=98*15*6
1470*6=35*28*9
147*60=35*28*9
735*6*2=490*18
735*6*2=180*49
63*28*5=140*9*7
63*28*5=90*14*7
63*28*5=70*14*9
74*15*8=2960*3
74*15*8=296*30
1485*6=2970*3
1485*6=297*30
345*26=8970*1
345*26=897*10
345*26*1=8970
4538*2=9076*1
4538*2*1=9076
760*12=95*8*4*3
120*76=95*8*4*3
760*4*3=95*12*8
76*40*3=95*12*8
76*30*4=95*12*8
706*13=4589*2
340*27=68*15*9
270*34=68*15*9
1872*5=390*6*4
1872*5=60*39*4
1872*5=40*39*6
78*24*5=9360*1
78*24*5=936*10
78*24*5*1=9360
78*15*4*2=9360
4685*2=9370*1
4685*2=937*10
4685*2*1=9370
670*14=938*5*2
140*67=938*5*2
67*14*5*2=9380
2370*4=1896*5
237*40=1896*5
4835*2=9670*1
4835*2=967*10
4835*2*1=9670
4853*2=9706*1
4853*2*1=9706
72*45*3=180*9*6
72*45*3=90*18*6
72*45*3=60*18*9
648*5*3=9720*1
648*5*3=972*10
648*5*3*1=9720
4865*2=9730*1
4865*2=1390*7
4865*2=973*10
4865*2=139*70
4865*2*1=9730
1406*7=259*38
1645*3*2=9870
672*5*3=140*9*8
672*5*3=90*14*8
672*5*3=80*14*9
840*12=96*7*5*3
480*21=96*7*5*3
210*48=96*7*5*3
120*84=96*7*5*3
420*8*3=96*15*7
80*42*3=96*15*7
42*30*8=96*15*7
480*7*3=96*21*5
70*48*3=96*21*5
48*30*7=96*21*5
784*13=5096*2
1480*7=296*35
148*70=296*35
1508*7=2639*4
1508*7=364*29
10752=896*4*3
2703*4=159*68
1548*7=903*6*2
258*7*6=301*9*4
65*21*8=390*7*4
65*21*8=70*39*4
65*21*8=40*39*7
78*35*4=910*6*2
78*35*4=91*60*2
78*35*4=91*20*6
51*27*8=306*9*4
145*76=380*29
145*76=290*38
860*13=2795*4
130*86=2795*4
324*7*5=1890*6
324*7*5=189*60
1620*7=84*9*5*3
162*70=84*9*5*3
810*7*2=63*9*5*4
81*70*2=63*9*5*4
81*20*7=63*9*5*4
81*7*5*4=630*9*2
81*7*5*4=90*63*2
81*7*5*4=63*20*9
5738*2=604*19
768*15=320*9*4
768*15=90*32*4
768*15=40*32*9
430*27=86*15*9
270*43=86*15*9
204*57=1938*6
51*38*6=2907*4
5876*2=904*13
1470*8=392*6*5
147*80=392*6*5
738*16=5904*2
4028*3=159*76
6083*2=154*79
3051*4=678*9*2
6158*2=3079*4
276*45=1380*9
276*45=138*90
4158*3=2079*6
485*26=970*13
485*26=130*97
702*18=54*39*6
301*7*6=258*49
531*6*4=708*9*2
710*6*3=284*9*5
71*60*3=284*9*5
71*30*6=284*9*5
12780=639*5*4
165*78=4290*3
165*78=429*30
368*7*5=920*14
368*7*5=140*92
720*18=96*45*3
180*72=96*45*3
480*27=135*96
270*48=135*96
63*42*5=1890*7
63*42*5=189*70
238*56=1904*7
53*42*6=1908*7
1730*8=692*5*4
173*80=692*5*4
1735*8=6940*2
1735*8=694*20
4680*3=195*72
468*30=195*72
7038*2=1564*9
7038*2=69*51*4
207*68=3519*4
2370*6=948*15
237*60=948*15
516*7*4=903*8*2
810*6*3=729*5*4
81*60*3=729*5*4
81*30*6=729*5*4
4860*3=972*15
486*30=972*15
14760=328*9*5
14820=76*39*5
3710*4=2968*5
371*40=2968*5
708*21=4956*3
708*21=63*59*4
480*31=2976*5
310*48=2976*5
7480*2=935*16
748*20=935*16
7504*2=938*16
406*37=518*29
2156*7=308*49
408*37=296*51
432*7*5=1680*9
432*7*5=168*90
2160*7=48*35*9
216*70=48*35*9
315*8*6=240*9*7
315*8*6=90*24*7
315*8*6=70*24*9
5076*3=94*81*2
2184*7=5096*3
852*6*3=1704*9
645*8*3=1720*9
645*8*3=172*90
485*32=970*16
485*32=160*97
15628=3907*4
15678=402*39
304*52=1976*8
3184*5=7960*2
3184*5=796*20
235*68=940*17
235*68=170*94
16038=594*27
16038=297*54
5418*3=2709*6
2730*6=819*5*4
2730*6=195*84
273*60=819*5*4
273*60=195*84
780*21=364*9*5
210*78=364*9*5
78*42*5=910*6*3
78*42*5=91*60*3
78*42*5=91*30*6
5481*3=609*27
2745*6=1830*9
2745*6=183*90
2781*6=309*54
618*27=309*54
16704=58*32*9
372*45=1860*9
372*45=186*90
456*37=2109*8
807*21=5649*3
630*27=945*18
270*63=945*18
460*37=185*92
370*46=185*92
17082=5694*3
5704*3=186*92
307*56=2149*8
506*34=187*92
507*34=8619*2
2170*8=496*35
217*80=496*35
5814*3=2907*6
873*5*4=2910*6
873*5*4=291*60
760*23=184*95
230*76=184*95
315*8*7=2940*6
315*8*7=294*60
204*87=5916*3
307*58=614*29
17820=495*36
17820=396*45
64*35*8=17920
6041*3=2589*7
760*8*3=912*5*4
80*76*3=912*5*4
76*30*8=912*5*4
3058*6=9174*2
874*21=3059*6
6174*3=2058*9
6180*3=927*5*4
618*30=927*5*4
18720=936*5*4
6270*3=418*9*5
627*30=418*9*5
3180*6=795*24
318*60=795*24
367*52=19084
65*37*8=19240
6504*3=271*9*8
3270*6=981*5*4
327*60=981*5*4
20457=6819*3
20574=381*9*6
20754=6918*3
5208*4=96*31*7
307*68=5219*4
4182*5=6970*3
4182*5=697*30
4278*5=690*31
4278*5=310*69
714*6*5=2380*9
714*6*5=238*90
7160*3=895*24
716*30=895*24
21658=3094*7
624*7*5=910*8*3
624*7*5=91*80*3
624*7*5=91*30*8
81*45*6=7290*3
81*45*6=729*30
306*72=51*48*9
301*74=259*86
830*27=415*9*6
270*83=415*9*6
7608*3=951*24
602*38=5719*4
402*57=3819*6
754*31=806*29
760*31=2945*8
760*31=248*95
310*76=2945*8
310*76=248*95
24056=97*31*8
8052*3=671*9*4
476*51=8092*3
8106*3=579*42
8154*3=906*27
24507=8169*3
306*81=2754*9
3104*8=256*97
4185*6=930*27
4185*6=270*93
476*53=901*28
25803=61*47*9
630*41=82*9*7*5
410*63=82*9*7*5
82*63*5=410*9*7
82*63*5=90*41*7
82*63*5=70*41*9
26180=935*7*4
345*78=26910
4527*6=3018*9
76*45*8=9120*3
76*45*8=912*30
27504=9168*3
618*45=9270*3
618*45=927*30
7038*4=92*51*6
28156=7039*4
7160*4=895*32
716*40=895*32
28651=4093*7
356*81=7209*4
4851*6=9702*3
810*36=72*45*9
360*81=72*45*9
7502*4=968*31
485*62=970*31
485*62=310*97
541*8*7=30296
7608*4=951*32
30576=91*42*8
30752=961*8*4
81*76*5=3420*9
81*76*5=342*90
760*41=328*95
410*76=328*95
603*52=871*9*4
6312*5=7890*4
6312*5=789*40
6328*5=7910*4
6328*5=791*40
84*76*5=31920
712*45=890*36
712*45=360*89
632*51=408*79
451*72=3608*9
32760=91*45*8
728*45=910*36
728*45=360*91
715*46=32890
6712*5=8390*4
6712*5=839*40
4810*7=962*35
481*70=962*35
702*48=351*96
451*76=902*38
762*45=3810*9
762*45=381*90
5817*6=34902
5016*7=924*38
7136*5=8920*4
7136*5=892*40
531*68=9027*4
36508=9127*4
7328*5=9160*4
7328*5=916*40
7368*5=9210*4
7368*5=921*40
71*65*8=9230*4
71*65*8=923*40
716*52=9308*4
736*51=408*92
7826*5=910*43
7826*5=430*91
5621*7=803*49
703*56=4921*8
504*81=72*63*9
531*78=4602*9
782*53=901*46
8372*5=910*46
8372*5=460*91
534*81=7209*6
7320*6=915*48
732*60=915*48
702*63=819*54
712*63=504*89
631*72=5048*9
728*63=504*91
638*72=5104*9
7812*6=504*93
47320=91*65*8
612*78=5304*9
6071*8=934*52
8127*6=903*54
603*81=5427*9
7014*8=9352*6
58401=927*63
813*72=6504*9
7320*8=915*64
732*80=915*64
65128=9304*7
65821=9403*7
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 11:21:44 | 显示全部楼层
代码:

  1. // mc.cpp : Defines the entry point for the console application.
  2. //

  3. #include "stdafx.h"
  4. #include <algorithm>
  5. #include <set>
  6. #include <vector>
  7. using namespace std;
  8. #define MAXV 87655
  9. short dmask[MAXV];
  10. set<short> sets[MAXV];
  11. typedef struct{
  12.         int x[8];
  13.         int& operator[](int k){return x[k];}
  14. }LE;

  15. void dumpLE(LE x)
  16. {
  17.         int i;
  18.         printf("%d",x[0]);
  19.         for(i=1;i<8;i++){
  20.                 if(x[i]>=0){
  21.                         printf("*%d",x[i]);
  22.                 }else{
  23.                         break;
  24.                 }
  25.         }
  26. }

  27. LE temp;

  28. void searchd(int target, int factorbound, short mask, int uindex, vector<LE>& vr)
  29. {
  30.         if(target<factorbound&&dmask[target]==mask){
  31.                 temp[uindex]=target;
  32.                 if(uindex+1<8){
  33.                         temp[uindex+1]=-1;
  34.                 }
  35.                 vr.push_back(temp);
  36.         }else if(target<factorbound&&(dmask[target]|(1<<1))==mask){
  37.                 temp[uindex]=target;
  38.                 temp[uindex+1]=1;
  39.                 if(uindex+2<8){
  40.                         temp[uindex+2]=-1;
  41.                 }
  42.                 vr.push_back(temp);
  43.         }
  44.         int i;
  45.         i=(target+factorbound-1)/factorbound;
  46.         if(i<2)i=2;
  47.         for(;i*i<target;i++){
  48.                 if(target%i==0){
  49.                         int k=target/i;
  50.                         if(k<factorbound&&(dmask[k]&mask)==dmask[k]){///use it
  51.                                 if(sets[i].find(mask&(~dmask[k]))!=sets[i].end()){
  52.                                         temp[uindex]=k;
  53.                                         searchd(i,k,mask&(~dmask[k]),uindex+1,vr);
  54.                                 }
  55.                         }
  56.                 }
  57.         }
  58.         --i;
  59.         if(i>=factorbound)i=factorbound-1;
  60.         for(;i>=2;i--){
  61.                 if(target%i==0){
  62.                         if((dmask[i]&mask)==dmask[i]){
  63.                                 if(sets[target/i].find(mask&(~dmask[i]))!=sets[target/i].end()){
  64.                                         temp[uindex]=i;
  65.                                         searchd(target/i,i,mask&(~dmask[i]),uindex+1,vr);
  66.                                 }
  67.                         }
  68.                 }
  69.         }
  70. }

  71. void getvlist(int target, short mask, vector<LE>& vr)
  72. {
  73.         searchd(target, target+1, mask, 0, vr);
  74. }

  75. void output(int target, short mask1, short mask2)
  76. {
  77.         vector<LE> list1;
  78.         vector<LE> list2;
  79.         getvlist(target,mask1, list1);
  80.         getvlist(target,mask2, list2);
  81.         unsigned i,j;
  82.         for(i=0;i<list1.size();i++){
  83.                 for(j=0;j<list2.size();j++){
  84.                         dumpLE(list1[i]);
  85.                         printf("=");
  86.                         dumpLE(list2[j]);
  87.                         printf("\n");
  88.                 }
  89.         }
  90. }

  91. void process_sets()
  92. {
  93.         int i;
  94.         for(i=2;i<MAXV;i++){
  95.                 set<short>::iterator it1,it2;
  96.                 for(it1=sets[i].begin();it1!=sets[i].end();++it1){
  97.                         if(((*it1)&512)!=0)///skip duplicated case
  98.                                 continue;
  99.                         it2=sets[i].find(1023^(*it1));
  100.                         if(it2!=sets[i].end()){
  101.                                 output(i,*it1,*it2);
  102.                         }
  103.                 }
  104.         }
  105. }

  106. void initsets()
  107. {
  108.         int i,j;
  109.         for(i=2;i<MAXV;i++){
  110.                 if(dmask[i]>=0){
  111.                         sets[i].insert(dmask[i]);///the integer itself
  112.                         if((dmask[i]&(1<<1))==0){///if integer 1 not used
  113.                                 sets[i].insert(dmask[i]|(1<<1));///1*i
  114.                         }
  115.                 }
  116.                 for(j=2;j*j<i;j++){
  117.                         if(i%j==0){
  118.                                 int k=i/j;
  119.                                 set<short>::iterator it1, it2;
  120.                                 for(it1=sets[j].begin();it1!=sets[j].end();++it1){
  121.                                         for(it2=sets[k].begin();it2!=sets[k].end();++it2){
  122.                                                 if(((*it1)&(*it2))==0){
  123.                                                         sets[i].insert((*it1)|(*it2));///by formula i=j*k
  124.                                                 }
  125.                                         }
  126.                                 }
  127.                         }
  128.                 }
  129.         }
  130. }

  131. void initmask()
  132. {
  133.         int i;
  134.         dmask[0]=-1;
  135.         for(i=1;i<MAXV;i++){
  136.                 int t=0,u=i;
  137.                 while(u>0){
  138.                         int d=u%10;
  139.                         if(t&(1<<d)){
  140.                                 t=-1;
  141.                                 break;
  142.                         }
  143.                         t|=1<<d;
  144.                         u/=10;
  145.                 }
  146.                 dmask[i]=t;
  147.         }
  148. }


  149. int _tmain(int argc, _TCHAR* argv[])
  150. {
  151.         initmask();
  152.         initsets();
  153.         process_sets();
  154.         return 0;
  155. }
复制代码
代码思路是首先数据分成两边,必然有一边使用了不超过5个数据。而且如果两边都是用5个数,那么有一边的最大数字是8,所以等号两边的数值最大只能87654.
于是等号两边都可以写成一个不超过87654的数的因子分解形式。
于是我们想办法对两边都进行因子分解,而且各因子用掉的数字都要不同,两边正好用掉10个数字。

评分

参与人数 1威望 +2 金币 +2 贡献 +2 收起 理由
northwolves + 2 + 2 + 2 学习了

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 11:25:27 | 显示全部楼层
首先initmask函数计算出所有小于87655的整数使用的数字情况用位比特形式保存,如果某个数字使用两次以上,用特殊数据-1表示。
函数initsets使用动态规划,计算出对每个小于87655的整数进行因子分解后所有因子使用数字的情况的集合(如果重复使用了某个数字的淘汰)。
然后process_sets函数对每种已知可能的情况进行搜索,其中initsets的结果sets可以用于帮助裁剪
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-6-22 11:43:24 | 显示全部楼层
如果允许0放在数字的开始,还可以有更多的:
48*7*3=56*9*2*1
48*7*3*1=56*9*2
87*6*3=54*29*1
87*6*3*1=54*29
576*3=24*9*8*1
576*3*1=24*9*8
54*17*2=68*9*3
54*36=27*9*8*1
54*36*1=27*9*8
56*12*3=9*8*7*4
12*8*7*3=56*9*4
78*14*2=56*39
576*4=32*9*8*1
576*4*1=32*9*8
356*7=89*14*2
2538=47*9*6*1
2538*1=47*9*6
56*47=329*8*1
56*47*1=329*8
1358*2=679*4
1538*2=769*4
1576*2=394*8
1586*2=793*4
532*6=798*4*1
532*6*1=798*4
534*6=178*9*2
236*14=59*8*7
3458=26*19*7
583*6=1749*2
1756*2=439*8
156*23=897*4
158*23=79*46
3654=29*18*7
3672=459*8*1
3672*1=459*8
136*27=459*8
138*27=69*54
534*7=1869*2
3752=469*8*1
3752*1=469*8
538*7=269*14
158*6*4=3792
67*58=1943*2
67*58=134*29
174*23=69*58
586*7=293*14
76*54=38*12*9
73*58=146*29
153*28=476*9
51*28*3=476*9
537*8=4296*1
537*8*1=4296
52*7*4*3=91*8*6
84*52=39*16*7
54*27*3=81*9*6
81*54=27*9*6*3
1458*3=729*6
732*6=549*8*1
732*6*1=549*8
157*28=4396
638*7=154*29
54*12*7=63*9*8
81*56=24*9*7*3
658*7=329*14
4632=579*8*1
4632*1=579*8
86*54=172*9*3
74*63=259*18
4736=592*8*1
4736*1=592*8
1584*3=792*6
4758=61*39*2
684*7=532*9*1
684*7*1=532*9
267*18=534*9
4876=92*53*1
4876*1=92*53
273*18=546*9
78*21*3=546*9
186*27=93*54
158*32=79*64
851*3*2=74*69
71*24*3=568*9
82*63=574*9*1
861*3*2=574*9
82*63*1=574*9
1728*3=96*54
651*4*2=93*8*7
651*8=93*7*4*2
1746*3=582*9
73*12*6=584*9
63*12*7=98*54
36*21*7=98*54
5346=297*18
5346=198*27
674*8=5392*1
674*8*1=5392
87*62=5394*1
87*62*1=5394
5432=679*8*1
5432*1=679*8
5472=38*16*9
5472=36*19*8
1824*3=96*57
57*8*4*3=912*6
1372*4=98*56
1854*3=927*6
174*32=96*58
5624=37*19*8
5742=638*9*1
5742*1=638*9
483*12=5796
138*42=5796
5823=647*9*1
5823*1=647*9
327*18=654*9
87*34*2=5916
742*8=5936*1
742*8*1=5936
71*28*3=5964
73*41*2=5986
132*46=759*8
6352=794*8*1
6352*1=794*8
123*56=984*7
3451*2=986*7
3458*2=91*76
1738*4=6952
581*4*3=6972
584*12=96*73
153*46=782*9
51*46*3=782*9
7254=186*39
154*8*6=7392
532*14=98*76
7452=138*9*6
7456=932*8*1
7456*1=932*8
7524=836*9*1
7524*1=836*9
7536=942*8*1
7536*1=942*8
7624=953*8*1
7624*1=953*8
7632=954*8*1
7632=159*48
7632*1=954*8
7852=1963*4
8316=594*7*2
716*4*3=8592
8614=73*59*2
681*7*2=9534
比如上面的681*7*2=9534可以代表681*07*2=9534等
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-3 05:52 , Processed in 0.097345 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表