题目链接(自己可以去做一做):
主要考点:
枚举
总时间限制:
1000ms
内存限制:
65536kB
描述
如上图,有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 (0 <= n <= 100)。
输出
一个整数,即a1 + a2 + a3的最大值。
样例输入
3
样例输出
5
好了,话不多说,上代码(我也是非常的人性好吧,没登陆,也让你们复制)
#include<bits/stdc++.h> using namespace std; int main(){ int n,max=0; cin>>n; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ for(int k=1;k<=n;k++){ if((i+j)%2==0 && (j+k)%3==0 && (i+j+k)%5==0){ if(i+j+k>max){ max=i+j+k; } } } } } cout<<max; return 0; }
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,max=0;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
if((i+j)%2==0 && (j+k)%3==0 && (i+j+k)%5==0){
if(i+j+k>max){
max=i+j+k;
}
}
}
}
}
cout<<max;
return 0;
}