3 条题解
-
1
#include <iostream> using namespace std; int main() { int n, i, j, k; cin >> n; for (i = 2; i < n; i++) { for (j = 2; j < n - i; j++) { k = n - i - j; if (i + j + k == n && i % 2 == 0 && j % 2 == 0 && k % 2 == 0 && i <= j && j <= k) { cout << i << " " << j << " " << k << endl; } } } return 0; }
-
1
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; for(int i = 2; i <= n; i += 2)//用3次for循环枚举出所有可能性,因为树木数量必须为偶数,所以从2开始,每次增加2就可以,不必后面再次判断 { for(int j = 2; j <= n; j += 2) { for(int k = 2; k <= n; k += 2) { if(i + j + k == n and i <= j and j <= k)//因为从小到大输出,所以要判断大小,否则会输出许多无序的组合 { cout << i << " " << j << " " << k << endl; } } } } return 0; }
编码不易😕,点赞走起👀️
记得点赞再抱走奥😄
- 1
信息
- ID
- 339
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 187
- 已通过
- 83
- 上传者