已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 22:26:58
已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个?

已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个?
已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个?

已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个?
167个
首先需要知道的是,加法对取余数运算没影响
即a+b除6得出的余数,与ab两个数分别除6得出的余数之和再除6,得出两个余数是相等的.
然后,若存在1项除6后余数为0,即整除,
则该项以后便是重复前几项的余数(考虑第一项前面有个0,根据数列的累加性质可以推断).
所以,直接从第一项开始往后数,数到第12项144能被6整除
可得数列各项除6的余数组成的新数列,是12个数一个循环
所以,用2009除以12看看有几个循环即可.
2009除以12为167余5
即2009项内有167个数能被6整除~

可不可以增加变量的位数,用多个unsigned long组成?
计算机编程算,我这算得222个
注:我计算斐波那契数的函数是从0开始的,所以counter + 2.
#include
using std::cout;
using std::cin;
using std::endl;
unsigned long fibo...

全部展开

可不可以增加变量的位数,用多个unsigned long组成?
计算机编程算,我这算得222个
注:我计算斐波那契数的函数是从0开始的,所以counter + 2.
#include
using std::cout;
using std::cin;
using std::endl;
unsigned long fibonacciDyl( unsigned long );
int main()
{
int n= 0;
for ( counter = 0; counter < 2009; counter++ )
{
if ( fibonacciDyl( counter + 2 ) % 6 == 0 )
n++;
}
cout << "前2009项中能被6整除的数有:" << n << endl;
return 0;
}
unsigned long fibonacciDyl( unsigned long number )
{
unsigned long number0 = 0, number1 =1, numberN;
if ( ( number == 0 ) || ( number == 1 ) )
return number;
else
{
for ( number; number > 1; number-- )
{
numberN = number1 + number0;
number0 = number1;
number1 = numberN;
}
return numberN;
}
}
可以直接在fibonacciDyl函数中,测numberN % 6 == 0的个数,传递2010给 fibonacciDyl函数。这样可以减少程序执行时间。
从第81项开始就都符合要求,在81项之前只有12项,24项,36项,48项,60项,72项,79项符合要求。
前面的几项数据分别是:
144 46368 14930352 4.8075e+009 1.5480e+012

收起

这个数列从第三项开始,每一项等于前两项之和

已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被3整除的数有多少个? 已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个? 已知斐波那契数列:1,1,2,3,5,8,13,21,34,55.此数列前2009项中能被6整除的数有多少个? 已知斐波那契数列:1,2,3,5,8,13,21,34,55.此数列前2003项中共有几个偶数 已知裴波那契数列1,1,2,3,5,8,13…那么这个数列的前10项之和是多少? 已知裴波那契数列1,1,2,3,5,8,13,·····那么这个数列的前10项之和是多少? 数列1,1,2,3,5,8,13,21,34,55,…叫做斐波那契数列,在斐波那契数列的,前2004个数中共有多少个偶数 【C++】有关斐波那契数列的余数问题描述斐波那契数列如下所示:1,1,2,3,5,8,13,21,34,55,89.用户输入n,和m,计算斐波那契数列的第n项除以m的余数是多少.例如用户输入8,4,那么就计算斐波那契数列 1,1,2,3,5,8,13,21,34,55 是叫什么数列(好象叫 斐波那*数列) 1,1,2,3,5,8,13,21,34,55 是叫什么数列(好象叫 斐波那*数列) 用C#变写输出小于1000的斐波那契数列之和.题目要求是这样的:用C#编写程序,输出小于1000的斐波那契数列之和.斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34...要是单纯输出小于1000的斐 数列1,1,2,3,5,8,13,21,34,55……斐波那契数列前800个数中共有___个奇数 斐波那契数列用伪代码表示第20个数的算法就是1 1 2 3 5 8 13这个数列 数列1,1,2,3,5,8,13,.称为斐波那契数列.编程计算第20个数字是多少(用c#编写) 3、一个数列:1、2、3、5、8、13、21…… 这列数的第2010个数除以4,余数是(斐波那契数列 已知斐波那契数列的前几个数分别为0,1,1,2,3,5,……编程求出此数列的第n项.Devc++题 已知斐波那契数列的前几个数分别为0,1,1,2,3,5,……编程求出此数列的第n项.(n由键盘输入)n>n;k=n-2;if(n=1){s= 斐波那契数列:1、2、3、5、、、分别除以数N(N>=5),得到的余数排成新数列,请问:对于不同的N,新数列是否一定会出现循环呢?一个N对应一个新数列 pascal 裴波那契数列1.裴波那契数列:数列1、1、2、3、5、8、13、21…称为裴波那契数列,它的特点是:数列的第一项是1,第二项也是1,从第三项起,每项等于前两项之和.编程输入一个正整数N,求出