Codeforces::GYM 102896E Easy Measurements
生活随笔
收集整理的這篇文章主要介紹了
Codeforces::GYM 102896E Easy Measurements
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接
題目大意
給定正整數 b,db, db,d,求存在多少組正整數 a,ba, ba,b ,滿足 ab+cd=bd\frac{a}{b} + \frac{c}ze8trgl8bvbq = \frac{b}ze8trgl8bvbqba?+dc?=db?
解題思路
式子變形得 a=b(b?c)da = \frac{b(b - c)}ze8trgl8bvbqa=db(b?c)? ,那么就是找有多少個可以正整數 ccc 的值,能讓 aaa 也為正整數。
顯然,ccc 的取值范圍為 (0,b)(0, b)(0,b) 之內的正整數。那么那些可以讓右側分式可以整除呢?我們可以先將 bbb 和 ddd 約分,得到 a=p(b?c)qa = \frac{p(b - c)}{q}a=qp(b?c)? ,其中 p,qp,qp,q 互質。然后只有 b?cb - cb?c 是 qqq 的倍數時,才能讓 aaa 是正整數
參考代碼
#include<bits/stdc++.h> using namespace std; int main(){int n;cin >> n;while(n --){int b, d;cin >> b >> d;d /= __gcd(b, d);cout << (b + d - 1) / d - 1 << '\n';}return 0; }注:如果想要求 ?ab?\lceil \frac{a}{b} \rceil?ba??,可以計算 (a+b?1)/b(a + b - 1) / b(a+b?1)/b
總結
以上是生活随笔為你收集整理的Codeforces::GYM 102896E Easy Measurements的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: S32K144 EVB之FTM
- 下一篇: 美国东海岸的数据中心为风暴做好准备