Fibonacci again and again\uff08http:\/\/acm.hdu.edu.cn\/showproblem.php?pid=1848\uff09<\/h1> \n
Time Limit: 1000\/1000 MS (Java\/Others) Memory Limit: 32768\/32768 K (Java\/Others) <\/p> \n <\/p> \n <\/p> \n <\/p> \n <\/div> \n
Total Submission(s): 12753 Accepted Submission(s): 5563
<\/strong><\/span>
<\/p> \n
F(1)=1;\n
F(2)=2;\n
F(n)=F(n-1)+F(n-2)(n>=3);\n
\u6240\u4ee5\uff0c1,2,3,5,8,13\u2026\u2026\u5c31\u662f\u83f2\u6ce2\u90a3\u5951\u6570\u5217\u3002\n
\u5728HDOJ\u4e0a\u6709\u4e0d\u5c11\u76f8\u5173\u7684\u9898\u76ee\uff0c\u6bd4\u59821005 Fibonacci again\u5c31\u662f\u66fe\u7ecf\u7684\u6d59\u6c5f\u7701\u8d5b\u9898\u3002\n
\u4eca\u5929\uff0c\u53c8\u4e00\u4e2a\u5173\u4e8eFibonacci\u7684\u9898\u76ee\u51fa\u73b0\u4e86\uff0c\u5b83\u662f\u4e00\u4e2a\u5c0f\u6e38\u620f\uff0c\u5b9a\u4e49\u5982\u4e0b\uff1a\n
1\u3001 \u8fd9\u662f\u4e00\u4e2a\u4e8c\u4eba\u6e38\u620f;\n
2\u3001 \u4e00\u5171\u67093\u5806\u77f3\u5b50\uff0c\u6570\u91cf\u5206\u522b\u662fm, n, p\u4e2a\uff1b\n
3\u3001 \u4e24\u4eba\u8f6e\u6d41\u8d70;\n
4\u3001 \u6bcf\u8d70\u4e00\u6b65\u53ef\u4ee5\u9009\u62e9\u4efb\u610f\u4e00\u5806\u77f3\u5b50\uff0c\u7136\u540e\u53d6\u8d70f\u4e2a\uff1b\n
5\u3001 f\u53ea\u80fd\u662f\u83f2\u6ce2\u90a3\u5951\u6570\u5217\u4e2d\u7684\u5143\u7d20\uff08\u5373\u6bcf\u6b21\u53ea\u80fd\u53d61\uff0c2\uff0c3\uff0c5\uff0c8\u2026\u7b49\u6570\u91cf\uff09\uff1b\n
6\u3001 \u6700\u5148\u53d6\u5149\u6240\u6709\u77f3\u5b50\u7684\u4eba\u4e3a\u80dc\u8005\uff1b\n
\n
\u5047\u8bbe\u53cc\u65b9\u90fd\u4f7f\u7528\u6700\u4f18\u7b56\u7565\uff0c\u8bf7\u5224\u65ad\u5148\u624b\u7684\u4eba\u4f1a\u8d62\u8fd8\u662f\u540e\u624b\u7684\u4eba\u4f1a\u8d62\u3002\n <\/div> \n
m=n=p=0\u5219\u8868\u793a\u8f93\u5165\u7ed3\u675f\u3002\n <\/div> \n #include <iostream>\r\n#include<\/span><string<\/span>.h>\r\n#include<\/span><cstdio>\r\nusing<\/span> namespace<\/span> std;\r\n<\/span>const<\/span> int<\/span> MAXN = 1005<\/span>;\r\n<\/span>int<\/span> f[MAXN];\r\n<\/span>int<\/span> s[MAXN];\r\n<\/span>int<\/span> sg[MAXN];\r\n<\/span>void<\/span> getSG(int<\/span> n)\r\n{\r\n <\/span>int<\/span> i,j;\r\n <\/span>for<\/span>(i=1<\/span>;i<=n;i++)\r\n {\r\n memset(s,<\/span>0<\/span>,sizeof<\/span>(s));\r\n <\/span>for<\/span>(j=0<\/span>;f[j]<=i&&j<=20<\/span>;j++)\r\n s[sg[i<\/span>-f[j]]]=1<\/span>;\r\n <\/span>for<\/span>(j=0<\/span>;;j++)\r\n {\r\n <\/span>if<\/span>(!s[j])\r\n {\r\n sg[i]<\/span>=j;\r\n <\/span>break<\/span>;\r\n }\r\n }\r\n }\r\n}\r\n<\/span>int<\/span> main()\r\n{\r\n f[<\/span>1<\/span>]=1<\/span>,f[0<\/span>]=1<\/span>;\r\n <\/span>for<\/span>(int<\/span> i=2<\/span>;i<=16<\/span>;i++)\r\n f[i]<\/span>=f[i-1<\/span>]+f[i-2<\/span>];\r\n getSG(<\/span>1000<\/span>);\r\n <\/span>int<\/span> m,n,p;\r\n <\/span>while<\/span>(scanf("<\/span>%d%d%d<\/span>"<\/span>,&m,&n,&p),m||n||p)\r\n {\r\n <\/span>if<\/span>(sg[m]^sg[n]^sg[p])\r\n cout <\/span><< "<\/span>Fibo<\/span>"<\/span> << endl;\r\n <\/span>else<\/span>\r\n cout <\/span><< "<\/span>Nacci<\/span>"<\/span> << endl;\r\n }\r\n <\/span>return<\/span> 0<\/span>;\r\n}<\/span><\/pre> \n <\/div> \n