zoukankan      html  css  js  c++  java
  • Round-number

    Description

        Most of the time when rounding a given number, it is customary to round to some multiple of a power of 10. However, there is no reason why we cannot use another multiple to do our rounding to. For example, you could round to the nearest multiple of 7, or the nearest multiple of 3.
        Given an int n and an int b, round n to the nearest value which is a multiple of b. If n is exactly halfway between two multiples of b, return the larger value.

    Input

    Each line has two numbers n and b,1<=n<=1000000,2<=b<=500

    Output

    The answer,a number per line.

    Sample Input

    5 10
    4 10

    Sample Output

    10
    0

    Hint

    #include<stdio.h>
    
    int main()
    {
        int n,b;
        while(scanf("%d%d",&n,&b)!=EOF)
        {
            int i=1;
            while(n>b*i) i++;     
            int temp1=b*i;
            int temp2=b*(i-1);
            if(temp1-n>n-temp2)
                printf("%d
    ",temp2);
            else
                printf("%d
    ",temp1);
        }
        return 0;
    }
    /**********************************************************************
    	Problem: 1040
    	User: song_hai_lei
    	Language: C++
    	Result: AC
    	Time:0 ms
    	Memory:1120 kb
    **********************************************************************/
    




  • 相关阅读:
    栈与递归
    细说二叉树的删除操作
    二叉树
    链表队列
    数组队列
    链表栈
    c语言实现数组栈
    c语言实现双链表
    HDU 4557 非诚勿扰(Treap找后继)
    POJ 3481 Double Queue(Treap模板题)
  • 原文地址:https://www.cnblogs.com/csushl/p/9386549.html
Copyright © 2011-2022 走看看