刚刚开始刷题的时候就栽了个大跟头,稍微记一下...... 一开始不是很理解:“我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单”这句话. 写完代码测试后才发现 当Fn 很大的时候,会超出int的表示范围, 后来才想明白为什么要这么做 import java.util.Scanner; public class Main { public static void main(String[] args) { int…
import java.util.Scanner; public class Main{ public static void main(String[] args) { int maxn=1000000+5; int mod=10007; int[] Fibonacci=new int[maxn]; Fibonacci[1]=1; Fibonacci[2]=1; Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for(int i=3…
问题描述 在年轻的时候,我们故事中的英雄--国王 Copa--他的私人数据并不是完全安全地隐蔽.对他来说是,这不可接受的.因此,他发明了一种密码,好记又难以破解.后来,他才知道这种密码是一个长度为奇数的回文串. Copa 害怕忘记密码,所以他决定把密码写在一张纸上.他发现这样保存密码不安全,于是他决定按下述方法加密密码:他选定一个整数 X ,保证 X 不小于 0 ,且 2X 严格小于串长度.然后他把密码分成 3 段,最前面的 X 个字符为一段,最后面的 X 个字符为一段,剩余的字符为一段.不妨把…