1,本次大赛内容:输入3个数字n, m, s。求数字n的m次方的所有因数之积除以s的余数。
比如输入6 2 5
6^2=36 36的因数有1,2,3,4,6,9,12,18,36,因数之积为 10077696
10077696除以5的余数为1,所以输出1。假设n, m, s都不超过1000
本文来自: 木马帝国论坛(http://bbs.mmbest.com/) 详细文章参考:http://bbs.mmbest.com/viewthread.php?tid=161041&extra=page%3D1
import java.math.*;
import java.io.*;
public class Biginteger {
public static void main(String args[]){
BigInteger result=new BigInteger("1");
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
BigInteger COUNT=new BigInteger("0"),
ONE=new BigInteger("1"),
TWO=new BigInteger("2");
String s=null;
try{
s=in.readLine();
}catch(IOException e){}
BigInteger m=new BigInteger(s); 此处用到了BigInteger
System.out.println(m.toString()+"的因子有");
for(BigInteger i=TWO;i.compareTo(m)<0;i=i.add(ONE))
if((m.remainder(i).compareTo(BigInteger.ZERO))==0)
result=result.multiply(i);
COUNT=COUNT.add(ONE);
System.out.println("m的因子是:"+i.toString());
System.out.println("因子的成绩为:"+result.toString() );
System.out.println(m.toString()+"一共有"+COUNT.toString()+"个因子");
本文来自: 木马帝国论坛(http://bbs.mmbest.com/) 详细文章参考:http://bbs.mmbest.com/viewthread.php?tid=161041&extra=page%3D1