機試小課堂丨搜索周·例題講解①《分數(shù)拆分》

【聲明:本文為原創(chuàng)文章,未經(jīng)同意,嚴禁轉(zhuǎn)載和抄襲,違者將追究其法律責任】
蘇世機試小課堂,考研機試不再慌!
公主號:蘇世學社考研? 蘇世計算機考研
分數(shù)拆分
題目描述
現(xiàn)在輸入一個正整數(shù)k,找到所有的正整數(shù)x>=y,使得1/k=1/x+1/y。
示例
輸入
第一行輸入一個整數(shù)n,代表有n組測試數(shù)據(jù);接下來n行每行輸入一個正整數(shù)k。
輸出
先輸出所有組數(shù),然后按順序輸出對應每行的k找到所有滿足條件1/k=1/x+1/y的組合。
樣例輸入
? ?2
? ?1
? ?2
樣例輸出
? ?1
? ?1/1=1/2+1/2
? ?2
? ?1/2=1/6+1/3
? ?1/2=1/4+1/4
? ??
答案
①讀題:
題目描述顯而易見。
②想出思路:
暴力枚舉所有的x、y,找到所有的x、y,所以先確定x、y的數(shù)據(jù)范圍,根據(jù)題目中給出的數(shù)據(jù)關系,1/x<=1/y、1/k=1/x+1/y,所以1/k-1/y<=1/y即y<=2k,又因為x=k*y/(y-k),所以在k到2k之間枚舉y計算x即可。
③動手編程:

④測試樣例:

⑤提交代碼:
UVA10976,可進入UVA網(wǎng)站進行提交。
本題總結(jié)
暴力枚舉題,注意根據(jù)題目給出的條件確定要枚舉數(shù)據(jù)的范圍,然后在范圍內(nèi)進行遍歷。
未完待續(xù)
蘇世學社旗下品牌,專注于計算機考研
計算機考研一手資訊,原創(chuàng)高質(zhì)量干貨
深度的學習分享丨咨詢前輩丨個性化指導

標簽: