題目鏈接:蒜頭君的最大值
解題思路:枚舉出所有滿足條件的結果,將結果存在數組中,然後倒序遍歷數組,輸出最大的結果即可。
#include<iostream>
using namespace std;
//因爲題目輸入條件規定0<=n<=100,所以最大的相加結果爲300
int sum[301] = {0};
int main(){
int n;
int s1,s2,s3;
cin>>n;
//將所有滿足條件的結果枚舉出來,保存到sum數組中
for(int a1=0;a1<=n;a1++){
for(int a2=0;a2<=n;a2++){
for(int a3=0;a3<=n;a3++){
s1 = a1+a2;
s2 = a2+a3;
s3 = a1+a2+a3;
if((s1%2==0) && (s2%3==0) && (s3%5==0)){
sum[s3]++;
//cout<<s3<<" ";
}
}
}
}
//cout<<endl;
//輸出最大的值
for(int i=301;i>=0;i--){
if(sum[i] != 0){
cout<<i<<" ";
break;
}
}
return 0;
}