<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=HowManyFibs%EF%BC%9F%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD</id>
	<title>HowManyFibs？/문보창 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=HowManyFibs%EF%BC%9F%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=HowManyFibs%EF%BC%9F/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;action=history"/>
	<updated>2026-05-15T01:04:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=HowManyFibs%EF%BC%9F/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=32390&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=HowManyFibs%EF%BC%9F/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=32390&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 소감 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2006-01-06 Accepted 0.008 Minimum&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 코드 ==&lt;br /&gt;
 // 10183 - How many Fibs?&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cstring&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #define BIG 1&lt;br /&gt;
 #define SMALL 2&lt;br /&gt;
 #define TIE 3&lt;br /&gt;
     &lt;br /&gt;
 class BigInteger&lt;br /&gt;
 {&lt;br /&gt;
 public:&lt;br /&gt;
 	char digit[103];&lt;br /&gt;
 	int len;&lt;br /&gt;
 public:&lt;br /&gt;
 	void nextBigInteger()&lt;br /&gt;
 	{&lt;br /&gt;
 		char temp[105];&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; temp;&lt;br /&gt;
 		len = strlen(temp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; len; i++)&lt;br /&gt;
 			digit[i] = temp[len-i-1] - 48;&lt;br /&gt;
 	}&lt;br /&gt;
 	void findPibNum(BigInteger&amp;amp;amp; a, BigInteger&amp;amp;amp; b)&lt;br /&gt;
 	{&lt;br /&gt;
 		int carry = 0;&lt;br /&gt;
 		len = 0;&lt;br /&gt;
 		while (len &amp;amp;lt; a.len || len &amp;amp;lt; b.len)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (len &amp;amp;gt; a.len)&lt;br /&gt;
 			{&lt;br /&gt;
 				digit[len] = (b.digit[len] + carry) % 10;&lt;br /&gt;
 				carry = (b.digit[len] + carry) / 10;&lt;br /&gt;
 			}&lt;br /&gt;
 			else if (len &amp;amp;gt; b.len)&lt;br /&gt;
 			{&lt;br /&gt;
 				digit[len] = (a.digit[len] + carry) % 10;&lt;br /&gt;
 				carry = (a.digit[len] + carry) / 10;&lt;br /&gt;
 			}&lt;br /&gt;
 			else&lt;br /&gt;
 			{&lt;br /&gt;
 				digit[len] = (a.digit[len] + b.digit[len] + carry) % 10;&lt;br /&gt;
 				carry = (a.digit[len] + b.digit[len] + carry) / 10;&lt;br /&gt;
 			}&lt;br /&gt;
 			len++;&lt;br /&gt;
 		}&lt;br /&gt;
 		if (carry &amp;amp;gt; 0)&lt;br /&gt;
 			digit[len++] = carry;&lt;br /&gt;
 	}&lt;br /&gt;
 	int isBigThan(BigInteger&amp;amp;amp; a)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (len &amp;amp;gt; a.len)&lt;br /&gt;
 			return BIG;&lt;br /&gt;
 		else if (len &amp;amp;lt; a.len)&lt;br /&gt;
 			return SMALL;&lt;br /&gt;
 		for (int i = len - 1; i &amp;amp;gt;= 0; i--)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (digit[i] &amp;amp;gt; a.digit[i])&lt;br /&gt;
 				return BIG;&lt;br /&gt;
 			else if (digit[i] &amp;amp;lt; a.digit[i])&lt;br /&gt;
 				return SMALL;&lt;br /&gt;
 		}&lt;br /&gt;
 		return TIE;&lt;br /&gt;
 	}&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static BigInteger inA, inB;&lt;br /&gt;
 static BigInteger pib[481];&lt;br /&gt;
 &lt;br /&gt;
 void preProcess()&lt;br /&gt;
 {&lt;br /&gt;
 	pib[1].digit[0] = 1, pib[1].len = 1;&lt;br /&gt;
 	pib[2].digit[0] = 2, pib[2].len = 1;&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 3; i &amp;amp;lt;= 480; i++)&lt;br /&gt;
 		pib[i].findPibNum(pib[i-1], pib[i-2]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 bool input()&lt;br /&gt;
 {&lt;br /&gt;
 	inA.nextBigInteger();&lt;br /&gt;
 	inB.nextBigInteger();&lt;br /&gt;
 	if (inA.len == 1 &amp;amp;amp;&amp;amp;amp; inB.len == 1 &amp;amp;amp;&amp;amp;amp; inA.digit[0] == 0 &amp;amp;amp;&amp;amp;amp; inB.digit[0] == 0)&lt;br /&gt;
 		return false;&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void process()&lt;br /&gt;
 {&lt;br /&gt;
 	int i, count = 0;&lt;br /&gt;
 	int response;&lt;br /&gt;
 	for (i = 1; i &amp;amp;lt;= 480; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		response = inA.isBigThan(pib[i]);&lt;br /&gt;
 		if (response != BIG)&lt;br /&gt;
 			break;&lt;br /&gt;
 	}&lt;br /&gt;
 	for (; i &amp;amp;lt;= 480; i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		response = inB.isBigThan(pib[i]);&lt;br /&gt;
 		if (response == SMALL)&lt;br /&gt;
 			break;&lt;br /&gt;
 		count++;&lt;br /&gt;
 	}&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; count &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	preProcess();&lt;br /&gt;
 	while (input())&lt;br /&gt;
 		process();&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[HowManyFibs？]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>