上海计算机学会2025年8月赛丙组T2打印三元组题解
2026/7/24 3:01:04 网站建设 项目流程
题目描述

当 0≤a≤b≤c0≤a≤b≤c 时,称 a,b,c 为上升三元组。

给定一个整数 n,请输出所有三数之和等于 n 的上升三元组。

若有多个三元组满足条件,则首先输出第一项较小的三元组,若第一项相等,则先输出第二项较小的三元组。

输入格式
  • 单个整数表示 n
输出格式
  • 若干行,每行三个自然数,中间用一个空格分开
数据范围
  • 0≤n≤20000≤n≤2000
样例数据

输入:

2

输出:

0 0 2

0 1 1

题解:

使用三层循环来遍历三个遍历,保证非递减序列,然后判断三个数的和要等于n;

#include <iostream> #include<vector> #include<cmath> using namespace std; int main() { int n; cin>>n; int k=0; for(int i=0;i<=n;i++){ for(int j=i;j<=n;j++){ k=n-i-j; if(i<=j&&j<=k){ cout<<i<<" "<<j<<" "<<k<<endl; } } } return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询