标题
斐波纳契数列
类别
函数与递归
时间限制
2S
内存限制
256Kb
问题描述
已知一个斐波纳契数列中的数字依次为1, 1, 2, 3, 5, 8, 13, 21, 34, 55 … 。请判断该数列中第n个数字(n从1开始计数)是不是素数。
输入说明
输入一个整数n(1<n<=40)。
输出说明
判断斐波纳契数列中的第n个数字是不是素数,如果是输出yes,否则输出该数字。
输入样例
样例1输入
6
样例2输入
4
输出样例
样例1输出
8
样例2输出
yes
#include <stdio.h>
int function(int n)
{
int y;
if (n == 1 || n == 2)
y = 1;
else
y = function(n - 1) + function(n - 2);
return (y);
}
int main()
{
int n, y, i;
scanf("%d", &n);
y = function(n);
for (i = 2; i < y; i++)
{
if (y % i == 0)
{
printf("%d", y);
break;
}
}
if (i == y)
printf("yes");
return 0;
}