zoukankan      html  css  js  c++  java
  • pick the stone game

    我该如何去触摸这类问题嘞!

    取石子游戏

     1堆石子有n个,两人轮流取.

    先取者第1次可以取任意多个,但不能全部取完.

    以后每次取的石子数不能超过上次取子数的2倍。

    取完者胜.先取者负输出"Second win".先取者胜输出"First win".

      输入有多组.每组第1行是2<=n<2^31. n=0退出.  

      先取者负输出"Second win". 先取者胜输出"First win". 

    Sample Input

    2
    13
    10000
    0
    Sample Output
    Second win
    Second win
    First win
    先手面对的只要是斐波那契数,都是必败点,先手必败。
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int fib[45]={2,3};
    void f()
    {
    	for(int i=2;i<45;i++)
    		fib[i]=fib[i-1]+fib[i-2];
    }
    
    int main()
    {
    	int n;
    	f();
    	while(~scanf("%d",&n) && n)
    	{
    		int i;
    		for(i=0;i<45;i++)
    		{
    			if(n==fib[i])	
    			{
    				puts("Second win");
    				break;
    			}
    		}
    		if(i==45) puts("First win");
    	}
    	return 0;
    }
    

      Link:

    https://blog.csdn.net/Dog_dream/article/details/80445886

    https://www.cnblogs.com/cancangood/p/3515855.html

    https://blog.csdn.net/dgq8211/article/details/7602807

  • 相关阅读:
    elasticsearch的安装
    default_scope and unscoped
    RSpec + Spork + Autotest 给Rails 3添加快速自动化测试
    ubuntu收过带个winmail.dat的邮件
    网站链接
    github
    js笔记
    mba首页js
    mba精锐视角js
    mongodb常用命令
  • 原文地址:https://www.cnblogs.com/dragondragon/p/11383530.html
Copyright © 2011-2022 走看看