zoukankan      html  css  js  c++  java
  • 爱因斯坦台阶问题

    【实例描述】

      爱因斯坦问题是假设某人走一个台阶,如果每步走两级,最后只剩一级,如果每步走三级,最后剩两级,如果每步走四级,最后剩三级,如果每步走五级,最后剩四级,如果每步走六级,最后剩五级,如果每步走七级,则一个也不剩。本实例求出1000以内符合该条件的数字。

    【实现过程】

      本实例抽象为数学问题是:总的台阶数分别对2、3、4、5、6、7取余的结果是1、2、3、4、5、0。

    代码如下:

    #include<iostream>
    using namespace std;
    bool Is_right(int n)
    {
    	for(int i=1;i<7;i++)
    	{
    		if(i==6)
    		{
    			if(n%(i+1)!=0)
    				return false;
    		}
    		else
    		{
    			if(n%(i+1)!=i)
    				return false;
    		}
    	}
    	return true;
    }
    void main()
    {
    	cout<<"---------爱因斯坦台阶-----------"<<endl;
    	cout<<"1000以内属于爱因斯坦台阶数字为:"<<endl;
    	int max=1000;
    	while(max)
    	{
    		if(!Is_right(max))
    		{}
    		else
    			cout<<max<<end;
    		max--;
    	}
    }
    
  • 相关阅读:
    Sublime Text3安装包管理
    Ubuntu下的Sun Java的安装与配置
    求最大面积--------O(n)复杂度
    求最大面积
    gas stations
    n皇后问题
    Triangle --- 至顶向下求最小值
    First Missing Positive
    常见的几种单例模式
    分布式锁学习笔记
  • 原文地址:https://www.cnblogs.com/0405mxh/p/10133355.html
Copyright © 2011-2022 走看看