【穷举】数字方格
题目描述
如上图,有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最大。
输入
一行,包含一个整数n ,表示a1,a2,a3都是大于等于0而且小于等于n(0 <= n <= 100)。
输出
一个整数,即a1 + a2 + a3的最大值。
样例输入
3
样例输出
5
#include<bits/stdc++.h>
using namespace std;
int main(){int n,a1,a2,ans;cin>>n;for(ans=3*n/5*5;;ans-=5)for(a1=0;a1<=n;a1++)if(!((ans-a1)%3))for(a2=0;a2<=n;a2++)if(!((a1+a2)%2) &&(ans-a1-a2)>=0 &&(ans-a1-a2)<=n){cout<<ans;return 0;}
}