zoukankan      html  css  js  c++  java
  • 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。

    include "stdafx.h"

    // ConsoleApplication12.cpp : 定义控制台应用程序的入口点。
    //
    
    #include<iostream>
    #include<vector>
    using namespace std;
    
    class Apples {
    public:
    	int num = 0;
    	int getInitial(int n) {
    		// write code here
    		int remianApple = 1;
    		int appleNums = n;
    		
    	//	while(true)
    			while (true)
    		{
    			bool flag = false;
    			remianApple = appleNums;
    			int num = n;
    		//	cout << "#########  " << appleNums << "  ##################" << endl;
    			while (num!=0) //
    			{
    				if (remianApple<= 0)
    				{
    					break;
    				}
    				else if ( remianApple%n != 1) //不符合要求,每次都不剩下1个苹果
    				{
    					break;
    				}
    				else {
    					//循环完毕,找到对应的苹果数目
    					int getApple = (remianApple - 1) / n;//每次拿走的苹果数目
    					remianApple = remianApple - getApple-1;
    				//  cout << num << ": " << " getApple:" << getApple << " remianApple:" << remianApple << endl;;
    			//		cout << "num:" << num << endl;
    					num = num - 1;
    				}
    			}
    			if (num == 0)
    			{
    			//	cout << "remianApple:" << remianApple << endl;
    				break;
    			}
    			appleNums++;
    		}
    		return  appleNums;
    	}
    	
    };
    int main()
    {
    	Apples apple;
    	int i;
    	while (cin>>i)
    	{
    	//	cout << "共有的苹果:" ;
    		cout << apple.getInitial(i) << endl;
    	}
    	
    	return 0;
    }
  • 相关阅读:
    【原创】贴片电容的测量方法。。。这是我从自己QQ空间转过来的,本人实操!
    CentOS6.4安装Apache+MySQL+PHP
    第一次在博客园写博客。。。新人
    C# 简单生成双色球代码
    从客户端中检测到有潜在危险的 Request.Form 值 方法
    经典实例
    js鼠标键禁用功能
    逻辑思维题
    C#运算符笔记
    C#基础
  • 原文地址:https://www.cnblogs.com/wdan2016/p/6433466.html
Copyright © 2011-2022 走看看