Algorithm


problem Link : https://onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=1492 

Given a base b and two non-negative base b integers p and m, compute p mod m and print the result as a base-b integer. p mod m is defined as the smallest non-negative integer k such that p = a ∗ m + k for some integer a. Input Input consists of a number of cases. Each case is represented by a line containing three unsigned integers. The first, b, is a decimal number between 2 and 10. The second, p, contains up to 1000 digits between 0 and b − 1. The third, m, contains up to 9 digits between 0 and b − 1. The last case is followed by a line containing ‘0’. Output For each test case, print a line giving p mod m as a base-b integer.

Sample Input 2 1100 101 10 123456789123456789123456789 1000 0

Sample Output 10 789

Code Examples

#1 Code Example with C Programming

Code - C Programming

import java.util.*;
import java.math.BigInteger;

public class Main {
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        while(true){
            int base = sc.nextInt();
            if(base == 0) break;
            BigInteger p = new BigInteger(sc.next(),base); // convert base x string to base 10
            BigInteger m = new BigInteger(sc.next(),base);
            p = p.mod(m);
            System.out.println(p.toString(base)); // output as base x
        }
    }
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
2 1100 101
10 123456789123456789123456789 1000
0

Output

x
+
cmd
10
789
Advertisements

Demonstration


UVA Online Judge solution - 10551-Basic Remains.java - UVA Online Judge solution in C,C++,java

Previous
UVA Online Judge solution - 10536-Game of Euler - UVA Online Judge solution in C,C++,java
Next
UVA Online Judge solution - 1056-Degrees of Separation - UVA Online Judge solution in C,C++,java