Помогите решить задачу пожалуйста c++
Дано натуральное число, нужно его представить как произведение числе Фибоначчи больших 1. Вывести количество возможных вариантов разложения
#include <iostream>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long n;
cin >> n;
for (long long i = 2; i * i <= n; ++i){
while (n % i == 0){
n /= i;
cout << i << " ";
}
}
if (n > 1)
cout << n;
}
Источник: Stack Overflow на русском