您的位置:首页 > 其它

HDU 5351 MZL's Border(2015多校第五场第9题) 写长串找规律

2015-08-05 21:09 405 查看
题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=5351

题意:求Fibn的前m位的LBorder

思路:一开始完全没头绪,就开始一个个的写出来,最终就找出了规律,由于数据会很大用JAVA的大数会比较方便

代码:

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

public class Main {
public static void main(String[] args) {
int T, n, i;
BigInteger m, mod, mm, ans = null;
mod = BigInteger.valueOf(258280327);
BigInteger[] a = new BigInteger[1005];
a[1] = BigInteger.ONE;
a[2] = a[1];
for (i = 3; i < 1005; ++i) {
a[i] = a[i - 1].add(a[i - 2]);
}
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
T = cin.nextInt();
while (T > 0) {
T--;
n = cin.nextInt();
m = cin.nextBigInteger();
mm = m.add(BigInteger.ONE);
for (i = 1; i < 1005; i++) {
if (mm.compareTo(a[i]) < 0) {
ans = m.subtract(a[i - 2]).mod(mod);
break;
}
}
System.out.println(ans);
}
}
cin.close();
}
}


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