三连击(枚举排列)
发布时间
阅读量:
阅读量
问题
将数字 1 至 9 共计 9 个数划分为三组,每组构成一个三位数,且这三个三位数之间的比例关系为 a : b : c,要求找出所有符合该比例条件的三位数组合。若不存在符合条件的组合,则输出 No!!!。
输入说明:
输入包括三个数值,分别为 a、b、c。
输出说明:
输出若干行,每行包含三个数字。各行的第一个数字需按照升序排列。
示例 1:
输入:
1 2 3
输出:
192 384 576
219 438 657
273 546 819
327 654 981
思路
本方案通过列举九个数字的所有排列方式,借助 C++ 语言中的 next_permutation 函数依次生成后续排列。在进行比值计算时,应当乘以小数 1.0,否则除法运算将默认将结果截断为整数形式。
代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std ;
int main(){
vector<int> p {1, 2, 3, 4, 5, 6, 7, 8, 9};
int a, b, c, ans[3];
cin >> a >>
全部评论 (0)
还没有任何评论哟~
