```pascal
var
n,i:longint;
f1,f2,f3:int64;
begin
read(n);
f1:=1; f2:=2;
for i:=2 to n do
begin
f3:=f1+f2;
f1:=f2; f2:=f3;
end;
writeln(f1);
end.
```
by Celestial_Scarlet @ 2019-05-24 20:54:55
@[TCZN](/space/show?uid=108361) 这个是正常版本,估计可以应对 $n\leq 60$ 的情况,如果结果要取模的话就可以应对 $n \leq 10^6$ 的数据了
by Celestial_Scarlet @ 2019-05-24 20:56:10
@[baoyu](/space/show?uid=93465) 怎么%?
by TCZN @ 2019-05-24 20:59:47
@[TCZN](/space/show?uid=108361)
代码开头读入一个模数 `read(p);` 或者指定一个模数,比如 `const p=19260817`
` f1:=1; f2:=2;` 改为 `f1:=1 mod p; f2:=2 mod p;`
`f3:=f1+f2;`改为`f3:=(f1+f2) mod p;`
其它的不用变
by Celestial_Scarlet @ 2019-05-24 21:01:50
@[baoyu](/space/show?uid=93465) [baoyu](/space/show?uid=93465)不颓slay了(
by AC_Dolphin @ 2019-05-24 21:04:32
@[AC_Dolphin](/space/show?uid=90464) 我被你们打自闭了,还颓啥啊ww
by Celestial_Scarlet @ 2019-05-24 21:05:12
@[baoyu](/space/show?uid=93465) 多少大都行吗
by TCZN @ 2019-05-24 21:05:51
@[TCZN](/space/show?uid=108361) 您紫黑题怎么刷的
by AC_Dolphin @ 2019-05-24 21:06:33
@[TCZN](/space/show?uid=108361) 这个$n<=10^7$
by AC_Dolphin @ 2019-05-24 21:06:50
@[TCZN](/space/show?uid=108361) 要求 $p \leq 2^{63}$
其实模数最多也就这么大,毕竟取模的意思就是不让你写高精
by Celestial_Scarlet @ 2019-05-24 21:07:20