三角形数(c++)

该博客介绍了如何使用C++编程语言,根据特定的数学规则(如1<a<f<i,b<d,g<h,c<e等)来构造一个9个数字组成的三角形数。博客中提供了输入格式、输出格式以及样例,要求程序能找出所有满足条件的三角形数方案,并按字典序输出。
摘要由CSDN通过智能技术生成

将 1,2....,9共 9个数排成下图形态的三角形。

复制
   a
  b c
 d   e
f g h i
其中:a,b...i分别表示1,2...,9中的一个数字,并要求同时满足下列条件:

1)a<f<i;
2)b<d,g<h,c<e;
3)、a+b+d+f=f+g+h+i=i+e+c+a=P。

输入格式

一个整数 P。

输出格式

输出所有满足上述条件的三角形的方案。输出格式:
第  1行  a前面有  3个空格;

第  2行  b前面有  2个空格(、 b中间有 c 个空格);

第 3 行  d前有  个空格(d、e之间有  3个空格);

第  4行  f前面没有空格(f、g、h、 i之间有  1个空格)。

三角形的输出按照 abcdefghi所代表的值排列的字典序输出。

样例

输入样例


23
输出样例


   7
  2 3
 6   4
8 1 5 9
   7
  3 1
 5   6
8 2 4 9
数据范围与提示

10<P<30

​
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值