首页

程序解题(1 / 2)

一秒记住【】,为您提供精彩小说阅读。

我原以为小学三年级的数学题,能有个啥难度。等接过小磊手里的练习册后一看,傻了。那题目是这样的:1到9 这九个数,组成一个四位数乘以个位数等于另一个四位数的等式。不能重复。九个数全用到。

盯着这题呆了好一会儿,心里暗骂这是哪个傻逼出的题?这题别说是小学三年级了,就是大学三年级也不见得做的出啊!抬眼望一下王芳,只见她呆呆看着我,一副很相信我的表情。我不由有些心虚,提起笔列了个方程,可D,这未知数太多了啊,咋解方程啊!要不一个个试?可这排列组合起码有上百万,老子就是试到菊花也谢了也未必能试出啊!唉!没想到老子这么吊一个大学生,读了十几年书,居然被一道小学题给难住了!正打算厚起老脸投笔认栽,心里突然一动,这上百万排列组合老子试不出,可是电脑可以试出啊,编个程不就解决了。想到这里,立时来了兴致,对王芳说:这题很难啊,排列组合太多了,得一个个试,你等下,我用电脑编个程,一下就解决了。

说罢坐到电脑前,一边想,一边敲键盘输程序:

public class Main {

public statiain(String[] args) {

int[] a = new int[9] ;

for(int i=0; i < 9;i++){

a[i] = i+1;

}

int[] b = new int[9];

for(b[0]=1; b[0]<5;b[0]++){

for(b[1]=1; b[1]<10; b[1]++){

if(b[0] == b[1])

tinue;

for(b[2]=1; b[2]<10; b[2]++){

if(b[1]==b[2])

tinue;

for(b[3]=1;b[3]<10;b[3]++){

if(b[2]==b[3])

tinue;

for(b[4]=1;b[4]<10;b[4]++){

if(b[3]==b[4])

tinue;

else{

int aaa = (b[0]1000+b[1]100+b[2]10+b[3])b[4];

if (aaa > 9999 || aaa < 1000)

tinue;

b[5] = aaa/1000;

b[6] = (aaa - b[5]1000)/100;

b[7] = (aaa - b[5]1000-b[6]100)/10;

b[8] = aaa - b[5]1000-b[6]100 - b[7]10;