c c 分數拆解

2021-08-20 22:16:58 字數 620 閱讀 6342

對於任意乙個整數

k,請找出在

x>=y

時有多少種情況使得

1/k = 1/x + 1/y,x

與y 均為正整數。

輸入乙個整數

n,代表要被分解的整數

輸出有多少種情況

sample output

首先可以知道 k < y <= 2*k,因為y < k 時,1/y > 1/k,與題意不服

而 y > 2*k 時,有 x > 2*k -> 1/y + 1/x < 1/(2*k) + 1/(2*k),與題意不服。

根據式子課化簡得到 x = (k*y) / (y - k),此時列舉 y 的值,當(k*y)/(y - k)是整數就是符合條件的答案。

答案:**如

下:#include #include

using namespace std; int main(void)

printf("%d\n", ans);

}

return 0;

}

數字拆解 1

題目1083 特殊乘法 題目描述 寫個演算法,對2個小於1000000000的輸入,求結果。特殊乘法舉例 123 45 1 4 1 5 2 4 2 5 3 4 3 5 輸入 兩個小於1000000000的數 輸出 輸入可能有多組資料,對於每一組資料,輸出input中的兩個數按照題目要求的方法進行運算...

IP首部拆解

ip資料報的格式如圖3 1所示。普通的ip首部長為20個位元組,除非含有選項字段。圖3 1 ip資料報格式及首部中的各欄位 分析圖3 1中的首部。最高位在左邊,記為0bit 最低位在右邊,記為31bit。4個位元組的32bit值以下面的次序傳輸 首先是0 7bit,其次8 15bit,然後16 23...

數字拆解(王道)

題目描述 寫個演算法,對2個小於1000000000的輸入,求結果。特殊乘法舉例 123 45 1 4 1 5 2 4 2 5 3 4 3 5 輸入 兩個小於1000000000的數 輸出 輸入可能有多組資料,對於每一組資料,輸出input中的兩個數按照題目要求的方法進行運算後得到的結果。樣例輸入 ...