您的位置:首页 > 产品设计 > UI/UE

Number Sequence

2014-04-04 20:17 218 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1005

找循环节。。

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner cin = new Scanner(System.in);
BigInteger M = BigInteger.valueOf(7);
while (cin.hasNext()) {
BigInteger a = cin.nextBigInteger();
BigInteger b = cin.nextBigInteger();
BigInteger n = cin.nextBigInteger();
int s1 = a.compareTo(BigInteger.ZERO);
int s2 = b.compareTo(BigInteger.ZERO);
int s3 = n.compareTo(BigInteger.ZERO);
if (s1 == 0 && s2 == 0 && s3 == 0)
break;
BigInteger f1 = BigInteger.ONE;
BigInteger f2 = BigInteger.ONE;
BigInteger cnt = BigInteger.valueOf(2);
BigInteger f;
while (true) {
f = a.multiply(f2).add(b.multiply(f1)).mod(M);
f1 = f2;
f2 = f;
cnt = cnt.add(BigInteger.ONE);
s1 = n.compareTo(cnt);
if (s1 == 0)
break;
}
System.out.println(f);

}
}

}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: