오늘의 알고리즘

[C++] 백준 9471 피사노주기

하늘하늘 . 2022. 7. 22. 20:42
 
#include <iostream>
#include <algorithm>
#include <vector>
#include <string.h>
#include <queue>
 
int main()
{
	int N = 0;
	int M = 0;
	std::cin >> M;
 
	while (M--)
	{
		int iCase = 0;
		int iNumber = 0;
 
		std::cin >> iCase >> iNumber;
 
		int iFirst = 0;
		int iSecond = 1;
		int iCount = 0;
 
		while (true)
		{
			if (!iFirst && iSecond == 1 && iCount)
				break;
 
			int iTemp = iFirst;
			iFirst = iSecond;
			iSecond = (iTemp + iFirst) % iNumber;
			++iCount;
		}
 
		std::cout << iCase << " " << iCount << "\n";
	}
 
	return 0;
}

뭔가 나머지 연산하는 게 아직은 어렵다... 어짜피 같은 수로 나눈다면 당연히 몫은 필요없을텐데 왜 자꾸 나머지를 이용하지 않는 걸까... 휴...