OpenJudge NOI 2.1 1749:数字方格

【题目链接】

OpenJudge NOI 2.1 1749:数字方格

【题目考点】

1. 枚举

【解题思路】

用枚举方法求解方程组

  • 枚举对象: a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3
  • 枚举范围: 0 ≤ a 1 , a 2 , a 3 ≤ n 0\le a_1, a_2, a_3 \le n 0a1,a2,a3n
  • 枚举条件:
    ( a 1 + a 2 ) % 2 = 0 (a_1+a_2)\%2 = 0 (a1+a2)%2=0
    ( a 2 + a 3 ) % 3 = 0 (a_2+a_3)\%3 = 0 (a2+a3)%3=0
    ( a 1 + a 2 + a 3 ) % 5 = 0 (a_1+a_2+a_3)\%5 = 0 (a1+a2+a3)%5=0

枚举出来符合条件的 a 1 , a 2 , a 3 a_1,a_2,a_3 a1,a2,a3,选择 a 1 + a 2 + a 3 a_1+a_2+a_3 a1+a2+a3最大的那一组。

【题解代码】

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
    int n, mx = 0;//mx:a1+a2+a3的最大值 
    cin >> n;
    for(int a1 = 0; a1 <= n; ++a1)
        for(int a2 = 0; a2 <= n; ++a2)
            for(int a3 = 0; a3 <= n; ++a3)
            {
    
    
                if((a1+a2)%2 == 0 && (a2+a3)%3 == 0 && (a1+a2+a3)%5 == 0)
                    mx = max(mx, a1+a2+a3);
            }
    cout << mx;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/lq1990717/article/details/125630082