這個題目可是有意思的很,大致意思如下
:給出一到九排成三個三位數,然後滿足a:b:c的比值,也就是說這三個三位數中都必須遍歷1到9才可以,並且是公升序排列,那怎麼做呢?
我先給出最開始的思路(失敗)
:給定二維陣列甚至三維陣列(拿輸出陽曆來看無非是乙個長度為4的陣列裡面每個陣列元素又包括三個小陣列)
當然,寫了半天我選擇放棄,根本寫不出來;
於是就有了乙個很有趣的解法:
從100到999開始遍歷(123~987也可),如果滿足這個數取餘a是0的話,就讓其餘兩個數等於i/a*b和i/a*c(i代表這個數)
然後在滿足其餘兩個數都在題目條件之內中,定義了九個陣列用來存放這三個百位數的各個數字,然後,精彩一幕來了,
為了確保這三個百位數都可以遍歷1到9,我們就採取這九個陣列的和與這九個陣列的乘積等於1~9的和與9!;
然後輸出滿足條件的i,j,k就可以了
附上**
#includeusingnamespace
std;
int a,b,c,flag=0
;
intj,k;
intmain()
if(sum==45&&xx==362880
) }}
}if(flag==0)printf("
no!!!");
return0;
}
洛谷 P1618 三連擊(公升級版)
題目描述 將1,2,9共9個數分成三組,分別組成三個三位數,且使這三個三位數的比例是a b c,試求出所有滿足條件的三個三位數,若無解,輸出 no 輸入輸出格式 輸入格式 三個數,a b c。輸出格式 若干行,每行3個數字。按照每行第乙個數字公升序排列。輸入輸出樣例 輸入樣例 1 1 2 3 輸出樣...
洛谷P1618 三連擊(公升級版)
乙隻鶸的刷題記錄 題目描述 將 1,2,9 共 9 個數分成三組,分別組成三個三位數,且使這三個三位數的比例是 a b c,試求出所有滿足條件的三個三位數,若無解,輸出 no 輸入格式 三個數,a,b,c。輸出格式 若干行,每行 3個數字。按照每行第乙個數字公升序排列。輸入輸出樣例 輸入 1 1 2...
洛谷 P1618 三連擊(公升級版)
將 1,2,ldots,91,2,9 共 99 個數分成三組,分別組成三個三位數,且使這三個三位數的比例是 a b ca b c,試求出所有滿足條件的三個三位數,若無解,輸出no 感謝黃小u飲品完善題意 三個數,a,b,ca,b,c。若干行,每行 33 個數字。按照每行第乙個數字公升序排列。輸入 1...