早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用0~9填充式子,得到一个三位数+一个三位数=一个四位数.可以真容易的试出一个解365+724=1089但如何通过非穷举的方法求出所有的解呢?

题目详情
用0~9填充式子,得到一个三位数+一个三位数=一个四位数.
可以真容易的试出一个解365+724=1089 但如何通过非穷举的方法求出所有的解呢?
▼优质解答
答案和解析
给出穷举的解,import itertoolsfor i in list(itertools.permutations(range(10))):a1,a2,a3,b1,b2,b3,c1,c2,c3,c4 = ia,b,c = a1+10*a2+100*a3,b1+10*b2+100*b3,c1+10*c2+100*c3+1000*c4if a+b == c and aprint a,'+',b,'=',c432 + 657 = 1089342 + 756 = 1098352 + 746 = 1098452 + 637 = 1089423 + 675 = 1098743 + 859 = 1602753 + 849 = 1602473 + 625 = 1098473 + 589 = 1062483 + 579 = 1062324 + 765 = 1089624 + 879 = 1503264 + 789 = 1053364 + 725 = 1089674 + 829 = 1503284 + 769 = 1053325 + 764 = 1089425 + 673 = 1098365 + 724 = 1089475 + 623 = 1098426 + 879 = 1305246 + 789 = 1035346 + 752 = 1098356 + 742 = 1098476 + 829 = 1305286 + 749 = 1035437 + 652 = 1089437 + 589 = 1026347 + 859 = 1206357 + 849 = 1206457 + 632 = 1089487 + 539 = 1026429 + 876 = 1305629 + 874 = 1503439 + 587 = 1026249 + 786 = 1035349 + 857 = 1206749 + 853 = 1602359 + 847 = 1206759 + 843 = 1602269 + 784 = 1053479 + 583 = 1062479 + 826 = 1305679 + 824 = 1503289 + 764 = 1053289 + 746 = 1035489 + 573 = 1062489 + 537 = 1026