백준 9461 c++

magicdrill·2024년 3월 22일
0

백준 문제풀이

목록 보기
191/655

백준 9461 c++

#include <iostream>
#include <vector>

using namespace std;

int input(int lower, int upper)
{
	//cout << "input()" << endl;
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

void input_testcase(vector <unsigned long long int> &T, int size)
{
	//cout << "input_testcase()\n";
	int i;

	for (i = 0; i < size; i++)
	{
		T.push_back(input(1, 100));
	}

	return;
}

unsigned long long int P(int N)
{
	//cout << "P()\n";
	unsigned long long int a = 1, b = 1, c = 1, d = 1;
	int i;

	for (i = 0; i < N-3; i++)
	{
		d = a + b;
		a = b;
		b = c;
		c = d;
	}

	return d;
}

void find_result(vector <unsigned long long int> &T, int size)
{
	//cout << "find_result()\n";
	int i;

	for (i = 0; i < size; i++)
	{
		T[i] = P(T[i]);
	}

	return;
}

void print_result(vector <unsigned long long int> T, int size)
{
	//cout << "print_result()\n";
	int i;

	for (i = 0; i < size; i++)
	{
		cout << T[i] << "\n";
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector <unsigned long long int> T;
	int t;

	t = input(1, 1000000000);
	input_testcase(T, t);
	find_result(T, t);
	print_result(T, t);

	return 0;
}

0개의 댓글