第五屆藍橋杯省賽JavaB組第六題奇怪的分式
阿新 • • 發佈:2019-02-08
標題:奇怪的分式
上小學的時候,小明經常自己發明新演算法。一次,老師出的題目是:
1/4 乘以 8/5
小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (參見圖1.png)
老師剛想批評他,轉念一想,這個答案湊巧也對啊,真是見鬼!
對於分子、分母都是 1~9 中的一位數的情況,還有哪些算式可以這樣計算呢?
請寫出所有不同算式的個數(包括題中舉例的)。
顯然,交換分子分母后,例如:4/1 乘以 5/8 是滿足要求的,這算做不同的算式。
但對於分子分母相同的情況,2/2 乘以 3/3 這樣的型別太多了,不在計數之列!
注意:答案是個整數(考慮對稱性,肯定是偶數)。請通過瀏覽器提交。不要書寫多餘的內容。
思路:
這道題用暴力搜尋就行,當滿足(j*l)*(i*10+k)==(i*k)*(j*10+l)這個條件時就是有一種情況了,還要注意的就是題中說一個分式中的分子和分母不同,並不是兩個分式中所有的數字都不相同。所以這裡只要保證i!=j k!=l就行了。
參考答案: 14
程式碼:
截圖:public class Main { public static void main(String[] args) { int count = 0; for(int i=1;i<10;i++){//分子1 for(int j=1;j<10;j++){//分母1 for(int k=1;k<10;k++){//分子2 for(int l=1;l<10;l++){//分母2 if(i!=j&&k!=l&&(j*l)*(i*10+k)==(i*k)*(j*10+l)){//只是說一個分式中的分子分母不同即可 count++; System.out.println(i+"/"+j+" "+k+"/"+l); } } } } } System.out.println(count); } }