uva10673-Floor和Ceil

Posted 啊嘞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

[UVa 10673]Play with Floor and Ceil

Play with Floor and Ceil UVA - 10673(拓展欧几里得)

UVa 1442 - Cave

php中的四舍五入函数代码(floor函数、ceil函数、round与intval)

Java Math的 floor,ceil和round函数的简单介绍

Java Math的 floor,ceil和round函数的简单介绍