Làm sao để có câu trả lời hay nhất?
13/07/2023
13/07/2023
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> fibonacciNumbers;
void generateFibonacciNumbers(int n) {
fibonacciNumbers.push_back(1);
fibonacciNumbers.push_back(1);
int i = 2;
while (fibonacciNumbers[i - 1] + fibonacciNumbers[i - 2] <= n) {
fibonacciNumbers.push_back(fibonacciNumbers[i - 1] + fibonacciNumbers[i - 2]);
i++;
}
}
vector<int> getFibonacciSum(int n) {
vector<int> sum;
int index = fibonacciNumbers.size() - 1;
while (n > 0 && index >= 0) {
if (fibonacciNumbers[index] <= n) {
sum.push_back(fibonacciNumbers[index]);
n -= fibonacciNumbers[index];
}
index--;
}
return sum;
}
int main() {
int n;
ifstream inputFile("fibo.inp");
inputFile >> n;
inputFile.close();
generateFibonacciNumbers(n);
vector<int> sum = getFibonacciSum(n);
ofstream outputFile("fibo.out");
for (int i = sum.size() - 1; i >= 0; i--) {
outputFile << sum[i] << " ";
}
outputFile.close();
return 0;
}
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
Top thành viên trả lời