一起的还有她那个儿子小磊。小白。王芳一见到我就说:我们家小磊有一道数学题做不到,你是大学生,能辅导下他吗?
可以,可以!我忙不跌道,心里很想再加一句:以后我帮你辅导小磊,你帮我洗衣服算了。
王芳见我答应,脸上笑的一朵花也似,对小磊说:小磊,你把题给你小白叔叔看看。
程序解题
我原以为小学三年级的数学题,能有个啥难度。等接过小磊手里的练习册后一看,傻了。那题目是这样的:1到9 这九个数,组成一个四位数乘以个位数等于另一个四位数的等式。不能重复。九个数全用到。
盯着这题呆了好一会儿,心里暗骂这是哪个傻逼出的题?这题别说是小学三年级了,就是大学三年级也不见得做的出啊!抬眼望一下王芳,只见她呆呆看着我,一副很相信我的表情。我不由有些心虚,提起笔列了个方程,可nnd,这未知数太多了啊,咋解方程啊!要不一个个试?可这排列组合起码有上百万,老子就是试到菊花也谢了也未必能试出啊!唉!没想到老子这么吊一个大学生,读了十几年书,居然被一道小学题给难住了!正打算厚起老脸投笔认栽,心里突然一动,这上百万排列组合老子试不出,可是电脑可以试出啊,编个程不就解决了。想到这里,立时来了兴致,对王芳说:这题很难啊,排列组合太多了,得一个个试,你等下,我用电脑编个程,一下就解决了。
说罢坐到电脑前,一边想,一边敲键盘输程序:
public class main {
public saic void main(sring[] args) {
in[] a = new in[9] ;
for(in i=0; i l; 9;i++){
a[i] = i+1;
}
in[] b = new in[9];
for(b[0]=1; b[0] l;5;b[0]++){
for(b[1]=1; b[1] l;10; b[1]++){
if(b[0] == b[1])
coninue;
for(b[2]=1; b[2] l;10; b[2]++){
if(b[1]==b[2])
coninue;
for(b[3]=1;b[3] l;10;b[3]++){
if(b[2]==b[3])
coninue;
for(b[4]=1;b[4] l;10;b[4]++){
if(b[3]==b[4])
coninue;
else{
in aaa = (b[0]*1000+b[1]*100+b[2]*10+b[3])*b[4];
if (aaa g; 9999 || aaa l; 1000)
coninue;
b[5] = aaa/1000;
b[] = (aaa - b[5]*1000)/100;
b[7] = (aaa - b[5]*1000-b[]*100)/10;
b[8] = aaa - b[5]*1000-b[]*100 - b[7]*10;
if(b[5] ==0 || b[]==0 || b[7]==0 || b[8]==0)
coninue;
boolean resul = rue;
for(in i = 0 ;i l;9;i++)
for(in j = 0;j l;9;j++){
if(i!=j amp; amp;b[i]==b[j])
resul = false;
}
if(resul){
sysem。ou。prinln(“结果是:“);
in bbb = b[0]*1000+b[1]*100+b[2]*10+b[3];
in ccc = bbb * b[4];
sysem。ou。prinln(bbb+“ * “+b[4]+“ = “+ccc);
}
}
}
}
}
}
}
sysem。ou。prinln(“结束!“);
}
}
运行情况:
结果是:
1738 * 4 = 952
结果是:
193 * 4 = 7