找回密码
 欢迎注册
查看: 12781|回复: 8

[分享] 乘法宫格

[复制链接]
发表于 2014-5-17 09:29:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
\(\Huge\begin{align*}   
\square\square\\  
\underline{\times\square\square\square}\\  
\square\square\square\square\\  
\end{align*}\)
在每个空格处填上1~9个数字中的一个数字,要求不重复,有多少种填法?


\(\Huge\begin{align*}   
\square\square\\  
\underline{\times\square\square\square}\\  
\square\square\square\square\square\\  
\end{align*}\)
在每个空格处填上0~9个数字中的一个数字,要求不重复,有多少种填法?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-20 22:17:01 | 显示全部楼层
第一个问题Matlab代码:
  1. a=perms(1:9);
  2. A=100*a(:,1)+10*a(:,2)+a(:,3);
  3. B=10*a(:,4)+a(:,5);
  4. C=1000*a(:,6)+100*a(:,7)+10*a(:,8)+a(:,9);
  5. idx=A.*B==C;
  6. fprintf('\n%3d*%2d=%4d\n',[A(idx,:) B(idx,:) C(idx,:)]')
复制代码

共7组解
483*12=5796

297*18=5346

186*39=7254

157*28=4396

159*48=7632

138*42=5796

198*27=5346
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-20 23:58:34 | 显示全部楼层
  1. [yoyo@alarmpi ~]$ nc 192.168.1.100 -p 8888 4444 -l
  2. Mathematica 9.0 for Linux x86 (64-bit)
  3. Copyright 1988-2013 Wolfram Research, Inc.

  4. In[1]:= $Version
  5. Out[1]= 9.0 for Linux x86 (64-bit) (February 7, 2013)

  6. In[2]:= SystemInformation[][[1, 1, 2, 2]]
  7. Out[2]= ReleaseID -> 9.0.1.0 (4092720, 4092445)

  8. In[3]:= Select[Table[{FromDigits[i[[1 ;; 2]]], FromDigits[i[[3 ;; 5]]],
  9.    FromDigits[i[[1 ;; 2]]]*FromDigits[i[[3 ;; 5]]]}, {i,  Permutations[Range[9], {5}]}],
  10. Sort[Flatten[{IntegerDigits /@ #}]] == Range[9] &]

  11. Out[3]= {{12, 483, 5796}, {18, 297, 5346}, {27, 198, 5346}, {28, 157, 4396}, {39, 186, 7254}, {42, 138, 5796}, {48, 159, 7632}}

  12. In[4]:=
  13. In[4]:= Select[Table[{FromDigits[i[[1 ;; 2]]], FromDigits[i[[3 ;; 5]]],
  14.    FromDigits[i[[1 ;; 2]]]*FromDigits[i[[3 ;; 5]]]}, {i,
  15.    Permutations[Range[0, 9], {5}]}],
  16. Sort[Flatten[{IntegerDigits /@ #}]] == Range[0, 9] &]

  17. Out[4]= {{27, 594, 16038}, {36, 495, 17820}, {39, 402, 15678}, {45, 396, 17820}, {46, 715, 32890}, {52, 367, 19084}, {54, 297, 16038}, {63, 927, 58401}, {78, 345, 26910}}

  18. In[5]:= ^C[yoyo@alarmpi ~]$
  19. [yoyo@alarmpi ~]$ uname -a
  20. Linux alarmpi 3.12.20-1-ARCH #1 PREEMPT Sun May 18 12:13:26 MDT 2014 armv6l GNU/Linux
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 09:47:36 | 显示全部楼层
如果第二问的0不能出现在乘数被乘数和积首位
  1. clear, clc
  2. a=perms(1:9);
  3. for k=[2 3 5 7:10]
  4.     b=[a(:,1:k-1) zeros(size(a,1),1) a(:,k:9)];
  5.     A=100*b(:,1)+10*b(:,2)+b(:,3);
  6.     B=10*b(:,4)+b(:,5);
  7.     C=10000*b(:,6)+1000*b(:,7)+100*b(:,8)+10*b(:,9)+b(:,10);
  8.     idx=A.*B==C;
  9.     if any(idx), fprintf('\n%3d*%2d=%4d\n',[A(idx,:) B(idx,:) C(idx,:)]'); end
  10. end
复制代码

402*39=15678

594*27=16038

367*52=19084

297*54=16038

927*63=58401

715*46=32890

495*36=17820

345*78=26910

396*45=17820
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 13:49:14 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 13:59:17 | 显示全部楼层
  1. Clear["Global`*"];(*Clear all variables*)Do[c = a*b;(*两个整数的乘积*)
  2. U = Union[IntegerDigits@a, IntegerDigits@b,
  3.    IntegerDigits@c];(*求出a\b\c三个整数的各个位数,然后取并集*)
  4. If[U == {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} && c < 99999 &&
  5.    c > 11111,(*要求并集之后为 {1,2,3,4,5,6,7,8,9},并且c是四位数*)
  6.   Print[{a, b, c}]],(*如果达到上面的两个了要求,就打印出三个整数*){a, 11, 99},(*第一个整数*){b,
  7.   111, 999}]
复制代码



{27,594,16038}

{36,495,17820}

{39,402,15678}

{45,396,17820}

{46,715,32890}

{52,367,19084}

{54,297,16038}

{63,927,58401}

{78,345,26910}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 14:08:50 | 显示全部楼层
  1. Do[c=a*b;If[Union@@IntegerDigits@{a,b,c}==Range[0, 9],Print@{a,b,c}],{a,11,99},{b,111,999}]
复制代码

第二个问题
{27,594,16038}

{36,495,17820}

{39,402,15678}

{45,396,17820}

{46,715,32890}

{52,367,19084}

{54,297,16038}

{63,927,58401}

{78,345,26910}

  1. Do[c=a*b;If[Union@@IntegerDigits@{a,b,c}==Range[1, 9]&&c<9999,Print@{a,b,c}],{a,11,99},{b,111,999}]

复制代码

{12,483,5796}

{18,297,5346}

{27,198,5346}

{28,157,4396}

{39,186,7254}

{42,138,5796}

{48,159,7632}
上面是第一个问题
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 14:11:14 | 显示全部楼层
你真牛逼,居然会用latex搞这个正方形!牛!!!!!!!!!!!!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2014-5-21 14:13:40 | 显示全部楼层
\(\Huge\begin{align*}   
\square\square\\   
\underline{\times\square\square\square}\\   
\square\square\square\square\square\square\square\square\square\square\square\square\square\square\square\square\square\square\square\\   
\end{align*}\)
测试一下看行不行?
楼主能把答案也用latex表达出来吗?带矩形框封闭数字的那种
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-5-8 10:18 , Processed in 0.086960 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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