zoukankan      html  css  js  c++  java
  • UVA 10673 Play with Floor and Ceil

    UVA_10673

        这个题目可以用拓展欧几里得算法求一组整数解,但实际上也可以直接去构造。

        我们知道向上取整和向下取整之差只能为0或1,如果为1,我们显然可以找到p=x,q=-x为符合要求的一组解,如果为0,那么只要(p+q)[x/k]=x,同时注意到在这种情况下x%k==0,所以令p+q=k即可,如果想让p、q有整数解,最简单的办法就是p=0,q=k。

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int a, b, p, q, x, k, t;
    scanf("%d", &t);
    while(t --)
    {
    scanf("%d%d", &x, &k);
    a = x / k;
    b = x / k + (x % k ? 1 : 0);
    if(a != b)
    p = -x, q = x;
    else
    p = 0, q = k;
    printf("%d %d\n", p, q);
    }
    return 0;
    }


  • 相关阅读:
    uni_app系列
    并发编程
    VUE+DRF系列
    其实我是个诗人
    中医
    linux+docker
    Mysql数据库
    爱好
    AJAX
    Django
  • 原文地址:https://www.cnblogs.com/staginner/p/2282992.html
Copyright © 2011-2022 走看看