{"id":284,"date":"2006-03-20T15:22:21","date_gmt":"2006-03-20T15:22:21","guid":{"rendered":"http:\/\/fanhaijun.com\/?p=284"},"modified":"2006-03-20T15:22:21","modified_gmt":"2006-03-20T15:22:21","slug":"strassen%e7%ae%97%e6%b3%95","status":"publish","type":"post","link":"https:\/\/fanhaijun.com\/?p=284","title":{"rendered":"STRASSEN\u7b97\u6cd5 ^^^"},"content":{"rendered":"<p>\u4e00\u3001STRASSEN\u7b97\u6cd5&nbsp;<br \/>#include&lt;iostream.h&gt;<br \/>#include&lt;math.h&gt;<br \/>#include&lt;memory.h&gt;<\/p>\n<p>\/\/enum&nbsp;&nbsp;&nbsp;error&nbsp;&nbsp;&nbsp;{wrong,right,overflow};<\/p>\n<p>void&nbsp;&nbsp;&nbsp;mutrixMul(int&nbsp;&nbsp;&nbsp;**a,int&nbsp;&nbsp;&nbsp;**b,int&nbsp;&nbsp;&nbsp;**c,int&nbsp;&nbsp;&nbsp;n);<br \/>void&nbsp;&nbsp;&nbsp;main(void)<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;n;<\/p>\n<p>cout&lt;&lt;&quot;please&nbsp;&nbsp;&nbsp;intput&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;demi&nbsp;&nbsp;&nbsp;of&nbsp;&nbsp;&nbsp;matrix:&quot;&lt;&lt;endl;<br \/>cin&gt;&gt;n;<br \/>int&nbsp;&nbsp;&nbsp;*a=new&nbsp;&nbsp;&nbsp;int[n*n];<br \/>int&nbsp;&nbsp;&nbsp;*b=new&nbsp;&nbsp;&nbsp;int[n*n];<br \/>int&nbsp;&nbsp;&nbsp;*c=new&nbsp;&nbsp;&nbsp;int[n*n];<br \/>\/\/\u521d\u59cb\u5316<br \/>cout&lt;&lt;&quot;Input&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;elements&nbsp;&nbsp;&nbsp;of&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;first:&quot;&lt;&lt;endl;<br \/>for(int&nbsp;&nbsp;&nbsp;counter=0;counter&lt;n*n;counter++)<br \/>{<br \/>cin&gt;&gt;a[counter];<br \/>}<br \/>\/\/\u9700\u8981\u6e05\u7a7a\u3001\uff01\uff01\uff01<br \/>cout&lt;&lt;&quot;your&nbsp;&nbsp;&nbsp;intput&nbsp;&nbsp;&nbsp;is:&quot;&lt;&lt;endl;<br \/>for(counter=0;counter&lt;n*n;counter++)<br \/>{<br \/>if(counter%n&lt;n\/2)<br \/>cout&lt;&lt;endl;<br \/>cout&lt;&lt;a[counter]&lt;&lt;&quot;&nbsp;&nbsp;&nbsp;&quot;;<br \/>}<\/p>\n<p>cout&lt;&lt;endl&lt;&lt;&quot;Input&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;elements&nbsp;&nbsp;&nbsp;of&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;&nbsp;secong:&quot;&lt;&lt;endl;<br \/>for(counter=0;counter&lt;n*n;counter++)<br \/>{<br \/>cin&gt;&gt;b[counter];<br \/>}<br \/>cout&lt;&lt;&quot;your&nbsp;&nbsp;&nbsp;intput&nbsp;&nbsp;&nbsp;is:&quot;&lt;&lt;endl;<br \/>for(counter=0;counter&lt;n*n;counter++)<br \/>{<br \/>if(counter%n&lt;n\/2)<br \/>cout&lt;&lt;endl;<br \/>cout&lt;&lt;b[counter]&lt;&lt;&quot;&nbsp;&nbsp;&nbsp;&quot;;<br \/>}<\/p>\n<p>mutrixMul(&#038;a,&#038;b,&#038;c,n);<\/p>\n<p>cout&lt;&lt;endl&lt;&lt;&quot;the&nbsp;&nbsp;&nbsp;answer&nbsp;&nbsp;&nbsp;is:&quot;&lt;&lt;endl;<br \/>for(counter=0;counter&lt;n*n;counter++)<br \/>{<br \/>if(counter%n&lt;n\/2)<br \/>cout&lt;&lt;endl;<br \/>cout&lt;&lt;c[counter]&lt;&lt;&quot;&nbsp;&nbsp;&nbsp;&quot;;<br \/>}<br \/>cout&lt;&lt;endl;<br \/>}<br \/>void&nbsp;&nbsp;&nbsp;mutrixMul(int&nbsp;&nbsp;&nbsp;**a,int&nbsp;&nbsp;&nbsp;**b,int&nbsp;&nbsp;&nbsp;**c,int&nbsp;&nbsp;&nbsp;n)<br \/>{<br \/>if(n==1)<br \/>{<br \/>\/\/&nbsp;**c=2;<br \/>(*c)[0]=(*a)[0]*(*a)[0];<br \/>}<br \/>else<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;*a1=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*a2=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*a3=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*a4=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>\/\/\u4e3aa\u7533\u8bf7\u56db\u90e8\u5206\u52a8\u6001\u7a7a\u95f4\u3002<\/p>\n<p>int&nbsp;&nbsp;&nbsp;*b1=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*b2=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*b3=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*b4=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>\/\/\u4e3ab\u7533\u8bf7\u3002<\/p>\n<p>int&nbsp;&nbsp;&nbsp;*c1=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c2=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c3=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c4=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c5=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c6=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c7=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<br \/>int&nbsp;&nbsp;&nbsp;*c8=new&nbsp;&nbsp;&nbsp;int[n*n\/4];<\/p>\n<p>int&nbsp;&nbsp;&nbsp;a1counter,a2counter,a3counter,a4counter;<br \/>a1counter=a2counter=a3counter=a4counter=0;<br \/>int&nbsp;&nbsp;&nbsp;b1counter,b2counter,b3counter,b4counter;<br \/>b1counter=b2counter=b3counter=b4counter=0;<br \/>int&nbsp;&nbsp;&nbsp;c1counter,c2counter,c3counter,c4counter;<br \/>c1counter=c2counter=c3counter=c4counter=0;<br \/>int&nbsp;&nbsp;&nbsp;c5counter,c6counter,c7counter,c8counter;<br \/>c5counter=c6counter=c7counter=c8counter=0;<\/p>\n<p>\/\/\u628aa\u7ec6\u5206\u5230a1,a2,a3,a4\u56db\u4e2a\u77e9\u9635;<br \/>for(int&nbsp;&nbsp;&nbsp;i=0;i&lt;n*n\/2;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>a1[a1counter]=(*a)[i];<br \/>a1counter++;<br \/>}<br \/>else<br \/>{<br \/>a2[a2counter]=(*a)[i];<br \/>a2counter++;<br \/>}<br \/>}<br \/>for(i=n*n\/2;i&lt;n*n;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>a3[a3counter]=(*a)[i];<br \/>a3counter++;<br \/>}<br \/>else<br \/>{<br \/>a4[a4counter]=(*a)[i];<br \/>a4counter++;<br \/>}<br \/>}<br \/>\/\/\u628ab\u7ec6\u5206\u5230b1,b2,b3,b4\u56db\u4e2a\u77e9\u9635;<br \/>for(i=0;i&lt;n*n\/2;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>b1[b1counter]=(*b)[i];<br \/>b1counter++;<br \/>}<br \/>else<br \/>{<br \/>b2[b2counter]=(*b)[i];<br \/>b2counter++;<br \/>}<br \/>}<br \/>for(i=n*n\/2;i&lt;n*n;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>b3[b3counter]=(*b)[i];<br \/>b3counter++;<br \/>}<br \/>else<br \/>{<br \/>b4[b4counter]=(*b)[i];<br \/>b4counter++;<br \/>}<br \/>}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a1,&#038;b1,&#038;c1,n\/2);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a2,&#038;b3,&#038;c2,n\/2);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a1,&#038;b2,&#038;c3,n\/2);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a2,&#038;b4,&#038;c4,n\/2);<\/p>\n<p>mutrixMul(&#038;a3,&#038;b1,&#038;c5,n\/2);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a4,&#038;b3,&#038;c6,n\/2);<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a3,&#038;b2,&#038;c7,n\/2);<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mutrixMul(&#038;a4,&#038;b4,&#038;c8,n\/2);<\/p>\n<p>\/\/<br \/>for(i=0;i&lt;n*n\/2;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>(*c)[i]=c1[c1counter]+c2[c2counter];<br \/>c1counter++;<br \/>c2counter++;<\/p>\n<p>}<br \/>else<br \/>{<br \/>(*c)[i]=c3[c3counter]+c4[c4counter];<br \/>c3counter++;<br \/>c4counter++;<br \/>}<br \/>}<br \/>for(i=n*n\/2;i&lt;n*n;i++)<br \/>{<br \/>if(i%n&lt;n\/2)<br \/>{<br \/>(*c)[i]=c5[c5counter]+c6[c6counter];<br \/>c5counter++;<br \/>c6counter++;<br \/>}<br \/>else<br \/>{<br \/>(*c)[i]=c7[c7counter]+c8[c8counter];<br \/>c7counter++;<br \/>c8counter++;<br \/>}<br \/>}<\/p>\n<p>delete&nbsp;&nbsp;&nbsp;a1,a2,a3,a4,b1,b2,b3,b4;<br \/>delete&nbsp;&nbsp;&nbsp;c1,c2,c3,c4,c5,c6,c7,c8;<br \/>}<br \/>}&nbsp;<br \/>\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<br \/>\u4e8c<br \/>*\u6b64\u7a0b\u5e8f\u4e3a\u7528\u6539\u8fdbStrassen\u5206\u6cbb\u6cd5\u6765\u89e3\u51b3\u77e9\u9635\u4e58\u6cd5*\/<br \/>\/*\u65b0\u589e\u529f\u80fd\uff1a\u80fd\u7981\u6b62\u5bf9\u9636\u6570\u4e3a\u975e2\u7684N\u6b21\u65b9\u7684\u77e9\u9635\u8fdb\u884c\u8fd0\u7b97*\/<br \/>#include&lt;stdio.h&gt;<br \/>#define&nbsp;&nbsp;&nbsp;M&nbsp;&nbsp;&nbsp;100<br \/>struct&nbsp;&nbsp;&nbsp;matrix<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;m[32][32];<br \/>};<\/p>\n<p>int&nbsp;&nbsp;&nbsp;Judgment(int&nbsp;&nbsp;&nbsp;n)&nbsp;\/*\u5224\u65ad\u662f\u5426\u4e3a2\u7684N\u6b21\u65b9\u7684\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;flag,temp=n;<br \/>while(temp!=1&nbsp;&nbsp;&nbsp;&#038;&#038;&nbsp;&nbsp;&nbsp;temp%2==0)<br \/>{<br \/>if(temp%2==0)&nbsp;&nbsp;&nbsp;temp\/=2;<br \/>else&nbsp;&nbsp;&nbsp;flag=1;<br \/>}<br \/>if(temp==1)&nbsp;&nbsp;&nbsp;flag=0;<br \/>return&nbsp;&nbsp;&nbsp;flag;<br \/>}<\/p>\n<p>void&nbsp;&nbsp;&nbsp;Divide(matrix&nbsp;&nbsp;&nbsp;&#038;d,matrix&nbsp;&nbsp;&nbsp;&#038;d11,matrix&nbsp;&nbsp;&nbsp;&#038;d12,matrix&nbsp;&nbsp;&nbsp;&#038;d21,matrix&nbsp;&nbsp;&nbsp;&#038;d22,int&nbsp;&nbsp;&nbsp;n)<br \/>\/*\u5c06\u4e00\u4e2a\u5927\u77e9\u9635\u62c6\u5206\u6210\u56db\u4e2a\u5c0f\u77e9\u9635\u7684\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;i,j;<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>{<br \/>d11.m[i][j]=d.m[i][j];<br \/>d12.m[i][j]=d.m[i][j+n];<br \/>d21.m[i][j]=d.m[i+n][j];<br \/>d22.m[i][j]=d.m[i+n][j+n];<br \/>}<br \/>}<\/p>\n<p>matrix&nbsp;&nbsp;&nbsp;Merge(matrix&nbsp;&nbsp;&nbsp;a11,matrix&nbsp;&nbsp;&nbsp;a12,matrix&nbsp;&nbsp;&nbsp;a21,matrix&nbsp;&nbsp;&nbsp;a22,int&nbsp;&nbsp;&nbsp;n)<br \/>\/*\u5c06\u56db\u4e2a\u5c0f\u77e9\u9635\u5408\u5e76\u6210\u4e00\u4e2a\u5927\u77e9\u9635\u7684\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;i,j;<br \/>matrix&nbsp;&nbsp;&nbsp;a;<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>{<br \/>a.m[i][j]=a11.m[i][j];<br \/>a.m[i][j+n]=a12.m[i][j];<br \/>a.m[i+n][j]=a21.m[i][j];<br \/>a.m[i+n][j+n]=a22.m[i][j];<br \/>}<br \/>return&nbsp;&nbsp;&nbsp;a;<br \/>}<\/p>\n<p>matrix&nbsp;&nbsp;&nbsp;AdhocMatrixMultiply(matrix&nbsp;&nbsp;&nbsp;x,matrix&nbsp;&nbsp;&nbsp;y)&nbsp;\/*\u9636\u6570\u4e3a2\u7684\u77e9\u9635\u4e58\u6cd5\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;m1,m2,m3,m4,m5,m6,m7;<br \/>matrix&nbsp;&nbsp;&nbsp;z;<\/p>\n<p>m1=(x.m[1][1]+x.m[1][2])*y.m[1][1];<br \/>m2=x.m[1][2]*(y.m[2][1]-y.m[1][1]);<br \/>m3=(x.m[2][1]+x.m[2][2])*y.m[2][2];<br \/>m4=x.m[2][1]*(y.m[1][2]-y.m[2][2]);<br \/>\n<br \/>m5=(x.m[1][2]+x.m[2][1])*(y.m[1][1]+y.m[2][2]);<br \/>m6=(x.m[2][1]-x.m[1][1])*(y.m[1][1]+y.m[1][2]);<br \/>m7=(x.m[1][2]-x.m[2][2])*(y.m[2][2]+y.m[2][1]);<br \/>z.m[1][1]=m1+m2;<br \/>z.m[1][2]=m5-m1+m4-m6;<br \/>z.m[2][1]=m5-m3+m2-m7;<br \/>z.m[2][2]=m3+m4;<\/p>\n<p>return&nbsp;&nbsp;&nbsp;z;<br \/>}<\/p>\n<p>matrix&nbsp;&nbsp;&nbsp;MatrixPlus(matrix&nbsp;&nbsp;&nbsp;f,matrix&nbsp;&nbsp;&nbsp;g,int&nbsp;&nbsp;&nbsp;n)&nbsp;\/*\u77e9\u9635\u52a0\u6cd5\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;i,j;<br \/>matrix&nbsp;&nbsp;&nbsp;h;<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>h.m[i][j]=f.m[i][j]+g.m[i][j];<br \/>return&nbsp;&nbsp;&nbsp;h;<br \/>}<\/p>\n<p>matrix&nbsp;&nbsp;&nbsp;MatrixMinus(matrix&nbsp;&nbsp;&nbsp;f,matrix&nbsp;&nbsp;&nbsp;g,int&nbsp;&nbsp;&nbsp;n)&nbsp;\/*\u77e9\u9635\u51cf\u6cd5\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;i,j;<br \/>matrix&nbsp;&nbsp;&nbsp;h;<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>h.m[i][j]=f.m[i][j]-g.m[i][j];<br \/>return&nbsp;&nbsp;&nbsp;h;<br \/>}<\/p>\n<p>matrix&nbsp;&nbsp;&nbsp;MatrixMultiply(matrix&nbsp;&nbsp;&nbsp;a,matrix&nbsp;&nbsp;&nbsp;b,int&nbsp;&nbsp;&nbsp;n)&nbsp;\/*\u77e9\u9635\u4e58\u6cd5\u51fd\u6570*\/<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;k;<br \/>matrix&nbsp;&nbsp;&nbsp;a11,a12,a21,a22;<br \/>matrix&nbsp;&nbsp;&nbsp;b11,b12,b21,b22;<br \/>matrix&nbsp;&nbsp;&nbsp;c11,c12,c21,c22,c;<br \/>matrix&nbsp;&nbsp;&nbsp;m1,m2,m3,m4,m5,m6,m7;<br \/>k=n;<br \/>if(k==2)<br \/>{<br \/>c=AdhocMatrixMultiply(a,b);<br \/>return&nbsp;&nbsp;&nbsp;c;<br \/>}<br \/>else<br \/>{&nbsp;<br \/>k=n\/2;<br \/>Divide(a,a11,a12,a21,a22,k);&nbsp;\/\/\u62c6\u5206A\u3001B\u3001C\u77e9\u9635<br \/>Divide(b,b11,b12,b21,b22,k);<br \/>Divide(c,c11,c12,c21,c22,k);<\/p>\n<p>m1=MatrixMultiply(MatrixPlus(a11,a12,n\/2),b11,k);<br \/>m2=MatrixMultiply(a12,MatrixMinus(b21,b11,k),k);<br \/>m3=MatrixMultiply(MatrixPlus(a21,a22,k),b22,k);<br \/>m4=MatrixMultiply(a21,MatrixMinus(b12,b22,k),k);<br \/>m5=MatrixMultiply(MatrixPlus(a12,a21,k),MatrixPlus(b11,b22,k),k);<br \/>m6=MatrixMultiply(MatrixMinus(a21,a11,k),MatrixPlus(b11,b12,k),k);<br \/>m7=MatrixMultiply(MatrixMinus(a12,a22,k),MatrixPlus(b22,b21,k),k);<br \/>c11=MatrixPlus(m1,m2,k);<br \/>c12=MatrixPlus(MatrixMinus(m5,m1,k),MatrixMinus(m4,m6,k),k);<br \/>c21=MatrixPlus(MatrixMinus(m5,m3,k),MatrixMinus(m2,m7,k),k);<br \/>c22=MatrixPlus(m3,m4,k);<\/p>\n<p>c=Merge(c11,c12,c21,c22,k);&nbsp;\/\/\u5408\u5e76C\u77e9\u9635<br \/>return&nbsp;&nbsp;&nbsp;c;<br \/>}&nbsp;<br \/>}<\/p>\n<p>void&nbsp;&nbsp;&nbsp;main()<br \/>{<br \/>int&nbsp;&nbsp;&nbsp;i,j,n;<br \/>matrix&nbsp;&nbsp;&nbsp;A,B,C={0};<br \/>while(n!=0)<br \/>{<br \/>printf(&quot;\u8bf7\u8f93\u5165\u77e9\u9635\u7684\u9636\u6570N:\\n&quot;);<br \/>scanf(&quot;%d&quot;,&#038;n);<br \/>if(n==0)&nbsp;&nbsp;&nbsp;break;<br \/>else<br \/>if(Judgment(n)==0)&nbsp;\/\/\u5224\u65ad\u77e9\u9635\u7684\u9636\u662f\u5426\u4e3a2\u7684N\u6b21\u65b9<br \/>{<br \/>printf(&quot;\u8bf7\u8f93\u5165\u77e9\u9635A:\\n&quot;);<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>scanf(&quot;%d&quot;,&#038;A.m[i][j]);<br \/>printf(&quot;\u8bf7\u8f93\u5165\u77e9\u9635B:\\n&quot;);<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>scanf(&quot;%d&quot;,&#038;B.m[i][j]);<br \/>if(n==1)&nbsp;&nbsp;&nbsp;C.m[1][1]=A.m[1][1]*B.m[1][1];&nbsp;\/\/\u77e9\u9635\u9636\u6570\u4e3a1\u65f6\u7684\u7279\u6b8a\u5904\u7406&nbsp;<br \/>else&nbsp;&nbsp;&nbsp;C=MatrixMultiply(A,B,n);<\/p>\n<p>printf(&quot;\u77e9\u9635C\u4e3a:\\n&quot;);<br \/>for(i=1;i&lt;=n;i++)<br \/>for(j=1;j&lt;=n;j++)<br \/>printf(&quot;%8d%c&quot;,C.m[i][j],j==n?&#39;\\n&#39;:&#39;&nbsp;&nbsp;&nbsp;&#39;);<br \/>}<br \/>else&nbsp;&nbsp;&nbsp;printf(&quot;\u77e9\u9635\u7684\u9636\u6570\u4e0d\u662f2\u7684N\u6b21\u65b9\uff01\\n\\n\\n&quot;);<br \/>}<br \/>}<br \/>\/*\u6b64\u7a0b\u5e8f\u7528\u9012\u5f52\u5206\u6cbb\u6cd5\u89e3\u51b3\u77e9\u9635\u4e58\u6cd5\u95ee\u9898\u3002<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u5f53N=2\u65f6\uff0c\u77e9\u9635\u53ef\u76f4\u63a5\u8ba1\u7b97\u51fa\u6765\u3002<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u5f53N&gt;2\u65f6\uff0c\u53ef\u4ee5\u7ee7\u7eed\u5c06\u77e9\u9635\u5206\u5757\uff0c\u76f4\u5230\u5b50\u77e9\u9635\u7684\u9636\u964d\u4e3a2\u3002*\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001STRASSEN\u7b97\u6cd5&nbsp;#include&lt;&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[100],"tags":[],"class_list":["post-284","post","type-post","status-publish","format-standard","hentry","category-nothing"],"_links":{"self":[{"href":"https:\/\/fanhaijun.com\/index.php?rest_route=\/wp\/v2\/posts\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fanhaijun.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fanhaijun.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fanhaijun.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fanhaijun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=284"}],"version-history":[{"count":0,"href":"https:\/\/fanhaijun.com\/index.php?rest_route=\/wp\/v2\/posts\/284\/revisions"}],"wp:attachment":[{"href":"https:\/\/fanhaijun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fanhaijun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fanhaijun.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}