計蒜客: T1190 蒜頭君的最大值

題目鏈接:蒜頭君的最大值

解題思路:枚舉出所有滿足條件的結果,將結果存在數組中,然後倒序遍歷數組,輸出最大的結果即可。

#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;
} 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章