大家好,今天我还是会和大家分享我的学习经历,不过今天的题目有点难。我想了很就都没有想出来,希望大家可以帮我解决这个问题。OK,我就不在多说了。给大家看看题目。
题目如下:
斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。这里我们定义另外一种斐波那契数列: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2)。编程计算该数列的前n(n<1000000)项是否能被3整除。
输入格式:
输入为一个正整数n(n<1000000)。
输出格式:
输出上述数列前n项能否被3整除,能则输出“yes ”,否则输出"no "。注意:每个"yes"和"no"后面都有一个空格。
输入样例1:
2
结尾无空行
输出样例1:
no no
结尾无空行
输入样例2:
6
结尾无空行
输出样例2:
no no yes no no no
结尾无空行
我的答案如下:
#include <stdio.h>
int main( )
{
unsigned long long a,b,c,n,i;
scanf("%lld",&n);
i=3;
a=7;
b=11;
if("n>1")
{
printf("no ");
if(n>=2)printf("no ");}
while(n>2&&n<1000000&&i<=n)
{
while(i<=n)
{c=a+b;
if((a+b)%3==0)
{printf("yes ");}
else
{printf("no ");}
a=b;
b=c;
i++;
}
}
return 0;
}
希望大家可以帮我解决这个问题。我们明天再见。