题解 | #Fibonacci数列#

Fibonacci数列

http://www.nowcoder.com/questionTerminal/18ecd0ecf5ef4fe9ba3f17f8d00d2d66

#include <math.h>
#include <stdio.h>
int main()
{
	int fib1 = 0;
	int fib2 = 1;
	int fib3 = 1;
	int n = 0;
	scanf("%d", &n);
	while (1)
	{
		if (n == fib2)
		{
			printf("0\n");
			break;
		}
		else if (n < fib2)
		{
			if (abs(fib1 - n) < abs(fib2 - n))
			{
				printf("%d\n", abs(fib1 - n));

			}
			else
			{
				printf("%d", abs(fib2 - n));
			}
			break;
		}
		fib1 = fib2;
		fib2 = fib3;
		fib3 = fib1 + fib2;
	}
	return 0;
}
全部评论

相关推荐

09-02 11:14
已编辑
四川大学 Java
吴offer选手:这种面试是最烦的,学不到东西,然后还被挂的莫名其妙。之前看到一种说法是面试官如果不想要你了,就会问一些很简单的问题,防止你举报他
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务