45 程序解題
字數:4648 加入書籤
,最快更新辦公室來了個極品女同事 !
我原以為小學三年級的數學題,能有個啥難度。 等接過小磊手裏的練習冊後一看,傻了。那題目是這樣的:1到9 這九個數,組成一個四位數乘以個位數等於另一個四位數的等式。不能重複。九個數全用到。
盯著這題呆了好一會兒,心裏暗罵這是哪個傻出的題?這題別說是小學三年級了,就是大學三年級也不見得做的出啊!抬眼望一下王芳,隻見她呆呆看著我,一副很相信我的表情。我不由有些心虛,提起筆列了個方程,可tnnd,這未知數太多了啊,咋解方程啊!要不一個個試?可這排列組合起碼有上百萬,老子就是試到菊花也謝了也未必能試出啊!唉!沒想到老子這麽吊一個大學生,讀了十幾年書,居然被一道小學題給難住了!正打算厚起老臉投筆認栽,心裏突然一動,這上百萬排列組合老子試不出,可是電腦可以試出啊,編個程不就解決了。想到這裏,立時來了興致,對王芳說:這題很難啊,排列組合太多了,得一個個試,你等下,我用電腦編個程,一下就解決了。
說罷坐到電腦前,一邊想,一邊敲鍵盤輸程序:
p class main {
p static void main(string[] args) {
int[] a = ne int[9] ;
for(int i=0; i < 9;i){
a[i] = i1;
}
int[] b = ne 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])
continue;
for(b[2]=1; b[2]<10; b[2]){
if(b[1]==b[2])
continue;
for(b[]){
if(b[2]==b[3])
continue;
for(b[4]=1;b[4]<10;b[4]){
if(b[3]==b[4])
continue;
else{
int aaa = (b[0]*1000b[1]*100b[2]*10b[3])*b[4];
if (aaa > 9999 || aaa < 1000)
continue;
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;
if(b[5] ==0 || b[6]==0 || b[7]==0 || b[8]==0)
continue;
boolean result = true;
for(int i = 0 ;i<9;i)
for(int j = 0;j<9;j){
if(i!=j &&b[i]==b[j])
result = false;
}
if(result){
system。out。println(“結果是:“);
int bbb = b[0]*1000b[1]*100b[2]*10b[3];
int ccc = bbb * b[4];
system。out。println(bbb“ * “b[4]“ = “ccc);
}
}
}
}
}
}
}
system。out。println(“結束!“);
}
}
運行情況:
結果是:
1738 * 4 = 6952
結果是:
1963 * 4 = 7852
結束!
盯著電腦屏幕上的結算,心裏又默默演算了下,果然沒錯!當下打了個響指,一臉興奮的對小磊說:答案有兩個,一個是一千七百三十八乘以四等於六千九百五十二,一個是一千九百六十三乘以四等於七千八百五十二,你自己好好演算一下,看看對不對!
小磊聽罷便在草稿本上算了起來,好半天,說:對了,對了!小白叔叔真聰明!這個題我們老師都沒做到!日!我暗道:你小子該不會故意拿這題來試探老子的吧!好在老子技術夠硬,要不然你媽還以為我是個銀洋蠟槍頭中看不中用呢!想著,不由一陣得意,看一眼王芳,見她一臉崇拜的盯著我,媽的,更是爽得老子小尾巴差點沒翹到天上去。
小磊!王芳盯著我瞧了好一會兒才把目光移到她兒子身上:你一定要好好學習,將來長大了要向小白叔叔這麽有出息,也讀大學。嗯!小磊使勁的點頭。我聽了心裏一陣慚愧,暗道:老子有個屁出息啊!小磊要是像我就完了!伸手摸了摸小磊的頭,很想以一個過來人的身份告訴他一定要好好學習啊,要不長大日不到美女。不過這話當然是不可能說出來的。小磊睜著又黑又大的眼睛望著我,很有些孺慕的感覺。好了!正在心裏感慨,王芳說:小磊先回屋去!我跟你小白叔叔有話說!
這話傳進我的耳中立時攪得我心中一陣騷亂,這大晚上的,她一個寡婦有啥話跟我說?