大数求余(java高精度)
发布时间:2020-12-14 03:00:52 所属栏目:大数据 来源:网络整理
导读:Link:http://poj.org/problem?id=2305 Problem: Basic remains Time Limit: ?1000MS ? Memory Limit: ?65536K Total Submissions: ?4933 ? Accepted: ?2081 Description Given a base b and two non-negative base b integers p and m,compute p mod m and
Link:http://poj.org/problem?id=2305 Problem:
Basic remains
Description
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 Source
Waterloo local 2003.09.20
import java.util.*; import java.io.*; import java.math.*; import java.text.*; public class Main{ public static void main(String args[]) { BigInteger p,ans; int b; Scanner cin=new Scanner(System.in); while(cin.hasNext()) { b=cin.nextInt(); if(b==0) break; p=cin.nextBigInteger(b); m=cin.nextBigInteger(b); ans=p.mod(m); String s; s=ans.toString(b); System.out.println(s); } } }(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |