问题 E: 真实

问题 E: 真实

时间限制: 1 Sec  内存限制: 128 MB
提交: 123  解决: 50
[提交] [状态] [讨论版] [命题人:]

题目描述

大运村的环境非常好,正值夏季,每栋房屋外的花坛中都种植各式各样的花朵,漂亮极了。特别是其中的向日葵,盛开茂盛。通过观察,细心的小A同学发现,向日葵花的花头和外侧的花瓣数似乎有一定的规律,于是他便请教自己的数学老师。数学杨老师告诉小A,利用数学往往能真实看清事物和生活的本质。向日葵的花头和外侧花瓣的排列方式其实就是斐波那契数列中的斐波那契数。不单单只是向日葵,它还经常出现在我们的生活中。比如松果、凤梨、树叶的排列;比如还有许多其他花的花头和花瓣数,让人不得不惊叹自然的神奇造化。

小A越听越着迷,于是他想找找生活中事物出现的规律是否满足斐波那契数列。为便于你的理解,我们描述如下:

对于一个只有nn项的有限数列S={0,1,1,2,3,5,8,…},有这样一个规律:从第3项开始,每一项为前两项之和除以1000000007的余数。给出m个非负整数,请在这m个数中统计有多少个数在数列S中。

请你帮忙编写一个程序来解决这个问题。

输入

第一行,两个正整数n和m;

第二行,m个非负整数。

输出

m个数中,在数列S里面的个数。

样例输入 Copy

11 6
4 1 1 5 9 766

样例输出 Copy

3

提示

【样例解释】

当n=11时,数列S={0,1,1,2,3,5,8,13,21,34,55},显然,1,1,5在数列中,4,9,766不在数列中。

【数据范围】

对于20%的数据,3≤n≤1000,3≤m≤100;

对于40%的数据,3≤n≤30000,3≤m≤1000;

对于100%的数据,3≤n≤50000,3≤m≤50000;

对于100%的数据,保证所有给出的m个数都小于231−1。



2020年成都市中小学生程序比赛(小学组)