查了一个中午,还找不出来,有神犇来帮帮本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;
}