奇奇怪怪的bug
查看原帖
奇奇怪怪的bug
255540
Her_Lingxiao楼主2020/9/18 13:51

查了一个中午,还找不出来,有神犇来帮帮本ju'ruo吗

#include <cstdio>
#include <cmath>
using namespace std;
long long fib[50];
int n;
long long ans;
bool IsPrime(int n)
{
	for(int i = 2; i <= n; i++)
	{
		if(!(n % i))
			return false;
	}
	return true;
}
void Init()
{
	fib[1] = 1;
	fib[2] = 1;
}
void Prime(int n)
{
	int i;
	bool use = false;
	for(i = 2; i <= sqrt(n); i++)
	{
		if(!(n % i))
		{
			n /= i;
			if(!IsPrime(n))
			{
				printf("%lld*", i);
				use = !use;
			}
		}
	}
	if(use)
	{int
		use = !use;
		Prime(n);
	}
	else
		printf("%lld", n);
}
long long Fib(int n)
{
	if(fib[n])
		return fib[n];
	else
		return fib[n] = Fib(n - 1) + Fib(n - 2);
}
int main()
{
	scanf("%d", &n);
	Init();
	ans = Fib(n);
	printf("%lld=", ans);
	Prime(ans);
	printf("\n");
	return 0;
}
2020/9/18 13:51
加载中...