OpenJudge_bailian 4146 数字方格

原题链接

在这里插入图片描述
如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3。已知0 <= a1, a2, a3 <= n,而且a1 + a2是2的倍数,a2 + a3是3的倍数, a1 + a2 + a3是5的倍数。你的任务是找到一组a1,a2,a3,使得a1 + a2 + a3最大。

Input

一行,包含一个整数n (0 <= n <= 100)。

Output

一个整数,即a1 + a2 + a3的最大值。

Sample Input
3
Sample Output
5

题记:用的枚举,暂时找不到更好的方法。

#include
using namespace std;
int main()
{
	int n,i,j,k,max=0;
	cin >> n;
	for (i = 0; i <= n; i++)
	{
		for (j = 0; j <= n; j++)
		{
			for (k = 0; k <= n; k++)
			{
				if ((j + k) % 3 == 0 && (i + j + k) % 5 == 0&&(i+j)%2==0)
				{
					if(i+j+k>max)
						max = i + j + k;
				}
			}
		}
	}
	cout << max;
	return 0;
}

你可能感兴趣的:(OpenJudge_bailian 4146 数字方格)