找回密码
 欢迎注册
楼主: manthanein

[讨论] 一道算式谜

[复制链接]
发表于 2018-3-29 14:33:06 | 显示全部楼层
  1. (*一道算式谜*)
  2. Clear["Global`*"];(*Clear all variables*)
  3. data=Permutations[Range[9],{6}];(*形成所有的排列*)
  4. fun[list_]:=Module[{
  5. a=list[[1]],
  6. b=list[[2]],
  7. c=list[[3]],
  8. d=list[[4]],
  9. e=list[[5]],
  10. f=list[[6]]
  11. },
  12. (*形成三个数*)
  13. ABCD=a*1000+b*100+c*10+d;
  14. ABCE=a*1000+b*100+c*10+e;
  15. AFCCDDB=a*10^6+f*10^5+c*(10^4+10^3)+d*(10^2+10^1)+b;
  16. (*如果积满足要求,那么就是1,否则就就是0*)
  17. If[ABCD*ABCE==AFCCDDB,out=1,out=0];
  18. out
  19. ]
  20. (*大海捞针,选出符合条件的数*)
  21. Select[data,fun[#]==1&]
复制代码





六个数依次是
{{1, 2, 3, 8, 9, 5}}
1238*1239=1533882

问题完美解决!
穷举法万岁!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2018-3-29 21:21:32 | 显示全部楼层
mathematica 发表于 2018-3-29 14:33
六个数依次是
{{1, 2, 3, 8, 9, 5}}
1238*1239=1533882
  1. (*一道算式谜*)
  2. Clear["Global`*"];(*Clear all variables*)
  3. data=Permutations[Range[9],{6}];(*形成所有的排列*)
  4. fun[list_]:=Module[{
  5. a=list[[1]],
  6. b=list[[2]],
  7. c=list[[3]],
  8. d=list[[4]],
  9. e=list[[5]],
  10. f=list[[6]]
  11. },
  12. (*形成三个数*)
  13. ABCD=a*1000+b*100+c*10+d;
  14. ABCE=a*1000+b*100+c*10+e;
  15. AFCCDDB=a*10^6+f*10^5+c*(10^4+10^3)+d*(10^2+10^1)+b;
  16. (*如果积满足要求,那么就是1,否则就就是0*)
  17. If[ABCD*ABCE==AFCCDDB,out=1;Print[{ABCD,ABCE,AFCCDDB}],out=0];
  18. out
  19. ]
  20. (*大海捞针,选出符合条件的数*)
  21. Select[data,fun[#]==1&]
复制代码


稍微改进一些的代码
{1238,1239,1533882}
{{1, 2, 3, 8, 9, 5}}
紫罗兰算式(数学代数方面的)
https://bbs.emath.ac.cn/thread-2606-1-1.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-26 11:17 , Processed in 0.057583 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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