首页 > 代码库 > uva10673-Floor和Ceil
uva10673-Floor和Ceil
题目链接 http://acm.hust.edu.cn/vjudge/problem/19592
解题思路
一般容易想到扩展欧几里得算法。
代码
#include<cstdio>#include<cmath>typedef long long ll;int g;double x, k;int gcd(int a, int b, int &d, ll &m, ll &n){ if(!b) { g = d = a; m = 1; n = 0; } else { gcd(b, a%b, d, n, m); n -= m * (a / b); }}int main(){ int n; scanf("%d", &n); while(n--) { ll x1, y1; scanf("%lf%lf", &x, &k); int d = (int)x; gcd((int)floor(x/k), (int)ceil(x/k), d, x1, y1); x1 *= (x / g); y1 *= (x / g); printf("%lld %lld\n", x1, y1); } return 0;}
uva10673-Floor和Ceil
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。