इस उपयोगकर्ता से उत्पन्न अन्य समस्या का जवाब देता है।
भेजें + अधिक = पैसा जहां प्रत्येक चरित्र का एक अद्वितीय अंक होता है और कोई शब्द शून्य से शुरू नहीं होता है।
select
top 1
S.num as S,
E.num as E,
N.num as N,
D.num as D,
M.num as M,
O.num as O,
R.num as R,
Y.num as Y,
(S.num * 1000 + E.num * 100 + N.num * 10 + D.num) as [SEND],
(M.num * 1000 + O.num * 100 + R.num * 10 + E.num) as MORE,
(S.num * 1000 + E.num * 100 + N.num * 10 + D.num) + (M.num * 1000 + O.num * 100 + R.num * 10 + E.num) as SEND_plus_MORE,
(M.num * 10000 + O.num * 1000 + N.num * 100 + E.num * 10 + Y.num) as [MONEY]
from
Digits as S
join digits as E on E.num <> S.num
join digits as N on N.num <> S.num and N.num <> E.num
join digits as D on D.num <> S.num and D.num <> E.num and D.num <> N.num
join digits as M on M.num <> S.num and M.num <> E.num and M.num <> N.num and M.num <> D.num
join digits as O on O.num <> S.num and O.num <> E.num and O.num <> N.num and O.num <> D.num and O.num <> M.num
join digits as R on R.num <> S.num and R.num <> E.num and R.num <> N.num and R.num <> D.num and R.num <> M.num and R.num <> O.num
join digits as Y on Y.num <> S.num and Y.num <> E.num and Y.num <> N.num and Y.num <> D.num and Y.num <> M.num and Y.num <> O.num and Y.num <> R.num
where
(S.num * 1000 + E.num * 100 + N.num * 10 + D.num)
+ (M.num * 1000 + O.num * 100 + R.num * 10 + E.num)
= (M.num * 10000 + O.num * 1000 + N.num * 100 + E.num * 10 + Y.num)
and S.num <> 0 and M.num <> 0
मैं कहां खंड अद्वितीय अंक को लागू करने में कुछ के बारे में सोचा है, लेकिन मेरा मानना है कि इस संसाधन समाप्त होता है कहां खंड चेक किया गया है से पहले भी कई क्रमपरिवर्तन।
चूंकि हम केवल 10 अंकों तक काम कर रहे हैं, मुझे लगता है कि गति की चिंताओं के बजाय लंबे समय तक चलने के लिए सबसे अच्छा है।
यहां पर पागल ऑन क्लॉज के बिना + WHERE क्लॉज है। यह मेरे सर्वर पर एक बहुत धीमी गति से चलाता है।
from
Digits as S
cross join digits as E
cross join digits as N
cross join digits as D
cross join digits as M
cross join digits as O
cross join digits as R
cross join digits as Y
where
(S.num * 1000 + E.num * 100 + N.num * 10 + D.num)
+ (M.num * 1000 + O.num * 100 + R.num * 10 + E.num)
= (M.num * 10000 + O.num * 1000 + N.num * 100 + E.num * 10 + Y.num)
and S.num <> 0 and M.num <> 0
and (select max(B.Count) from
(select COUNT(*) as Count from
(select S.num, 's' as letter -- the letters are included to make sure the unions do not merge equivalent rows
UNION select E.num, 'e'
UNION select N.num, 'n'
UNION select D.num, 'd'
UNION select M.num, 'm'
UNION select O.num, 'o'
UNION select R.num, 'r'
UNION select Y.num, 'y') as A
group by A.num
) as B
) = 1
स्रोत
2013-02-27 05:30:44
क्या शब्दों की लंबाई के लिए अधिकतम सीमा है? –
एक समय में हल करने के लिए केवल एक पहेली होगी ताकि विशेष रूप से उस प्रयास के लिए तालिकाओं को बनाया/संशोधित किया जा सके। पहेली सभी स्वरूप लंबाई (4) + लंबाई (4) = लंबाई (5) – wilco
आपका पहला संपादन असंभव है, 10 से अधिक विभिन्न पत्र हैं। प्रत्येक का अपना अंक –