牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:1、放进去的鱼是安全的,不会被其他鱼吃掉 2、这条鱼放进去也不能吃掉其他鱼

// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//

#include<vector>
#include<algorithm>
#include<functional>
#include<iostream>

using namespace std;


// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//


#include<vector>
#include<algorithm>
#include<functional>
#include<iostream>

using namespace std;


int main()
{
	int minSize, maxSize;
	int n;
	while (cin >> minSize >> maxSize >> n)
	{
		vector<int> fishSize;
		int num = 0;

		for (int i = 0; i < n; i++)
		{
			int fish;
			cin >> fish;
			fishSize.push_back(fish);
		}

		for (int i = minSize; i <= maxSize; i++)
		{
			bool flag = true;
			for (int j = 0; j < fishSize.size(); j++)
			{
				if ((fishSize[j]) / i >= 2 && (fishSize[j]) / i <= 10)
				{
					if ((fishSize[j]) / i == 10 && (fishSize[j]) % i!=0)
					{
					//	break;
						continue;
					}
					
					flag = false;
					break;
				}
			
				if ( i/fishSize[j] >= 2 && i/fishSize[j]<= 10)
				{
					if (i / fishSize[j] == 10 && i % fishSize[j]!= 0)
					{
					//	break;
						continue;
					}
					
					flag = false;
					break;
				}	
		}

			if (flag == true)
			{
				num++;
		//		cout << i << endl;
	//			fishSize.push_back(i);
			}
		
	}
	cout << num << endl;
	}


	return 0;
}
原文地址:https://www.cnblogs.com/wdan2016/p/6524125.html