對於任意乙個整數
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中的兩個數按照題目要求的方法進行運算後得到的結果。樣例輸入 ...