news 2026/4/16 8:10:40

排列问题求解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
排列问题求解

1. 要求

将1~9填在图中的a0~a8的位置,要求三边4个数相加的和相等,并且分别实现(1)三
边4个数相加的和要最小;(2)三边4个数相加的和要最大。

2. C程序代码

#include <stdio.h> #include <stdlib.h> #define GS 9 #define CHUZHI {1, 2, 3, 4, 5, 6, 7, 8, 9} void pailie(int *, unsigned ); void shuchu(int *, unsigned ); void jiaohuan(int *, int *); int NUMS=0; /* 满足三边4个数相加的和相等的排列数目 */ int yqmin9[GS]={0}; /* 三边4个数相加的和相等且和最小的一组排列 */ int yqmax9[GS]={0}; /* 三边4个数相加的和相等且和最大的一组排列 */ int min=30,max=10; /* 三边4个数相加的和相等且和最小的数及最大的数 */ int main( ) { int yqz[GS]=CHUZHI; pailie(yqz, GS); shuchu( yqmin9, GS ); shuchu( yqmax9, GS ); printf("\n%d %d %d\n",NUMS,min,max); return 0; } // 对 yq 中的后 pljg 几个数据进行全排列 void pailie ( int * yq , unsigned pljg ) { unsigned bjh = GS - pljg , jh ; // 被交换和交换元素的下标 int i; if ( pljg==1 ){ if(((yq[0]+yq[1]+yq[2]+yq[3])==(yq[3]+yq[4]+yq[5]+yq[6])) && ((yq[0]+yq[1]+yq[2]+yq[3])==(yq[0]+yq[6]+yq[7]+yq[8]))){ if(min>(yq[0]+yq[1]+yq[2]+yq[3])) { min=(yq[0]+yq[1]+yq[2]+yq[3]); for(i=0;i<9;i++) yqmin9[i]=yq[i]; } if(max<(yq[0]+yq[1]+yq[2]+yq[3])){ max=(yq[0]+yq[1]+yq[2]+yq[3]); for(i=0;i<9;i++) yqmax9[i]=yq[i]; } NUMS++; } } for (jh = bjh ; jh < GS ; jh ++) { jiaohuan ( yq + bjh , yq + jh ) ; // 交换 pailie ( yq , pljg -1 ) ; // 对后面 pljg-1 个全排列 jiaohuan ( yq + bjh , yq + jh ) ; } } // 输出 void shuchu( int *p , unsigned n ) { unsigned i ; for ( i = 0 ; i < n ; i++ ) { printf("%d",p[i]); } putchar(' '); } // 交换p1和p2所指向对象的值 void jiaohuan(int * p1, int * p2) { int tmp; tmp = *p1; *p1 = *p2; *p2 = tmp; }

3. 输出结果

149357286 726851943
864 17 23

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:42:55

优化STM32串口发送机制以驱动字符型LCD:深度讲解

STM32驱动字符型LCD&#xff1a;一场与时序的精密共舞你有没有试过&#xff0c;在STM32上用UART去“喊”一块1602 LCD——结果它要么不听、要么听岔了、要么干脆装死&#xff1f;不是代码没烧进去&#xff0c;也不是接线松了&#xff0c;而是你和LCD之间&#xff0c;缺了一次真…

作者头像 李华
网站建设 2026/4/15 16:33:17

超详细版JLink驱动下载流程用于工业电机控制器

工业电机控制器调试链路的“第一公里”&#xff1a;J-Link驱动部署实战手记 你有没有遇到过这样的场景&#xff1f; 凌晨两点&#xff0c;产线测试卡在固件烧录环节&#xff0c;J-Link指示灯常绿但J-Flash始终显示“Unknown device”&#xff1b; 新来的工程师在Windows 11上…

作者头像 李华
网站建设 2026/4/15 22:01:08

TI SDK在嵌入式电源管理中的深度剖析

TI SDK&#xff1a;嵌入式电源管理的实战工程范式你有没有遇到过这样的场景&#xff1f;电机驱动板在实验室跑得稳如泰山&#xff0c;一上现场就频繁复位&#xff1b;便携设备标称续航72小时&#xff0c;实测却撑不过30小时&#xff1b;高温环境下PWM波形突然抖动加剧&#xff…

作者头像 李华
网站建设 2026/4/16 11:09:49

基于Vector工具链的UDS 28服务配置核心要点

Vector工具链下UDS 28服务:从协议语义到工程落地的实战闭环 你有没有遇到过这样的情况:CANoe里发了一条 28 03 81 ,ECU静默不响应?Trace窗口干干净净,连个NRC都不回;或者更糟——偶尔成功、多数超时,P2定时器像在赌运气。不是协议没看懂,不是代码没写对,问题往往藏…

作者头像 李华
网站建设 2026/4/16 11:12:11

语音处理新利器:Qwen3-ForcedAligner-0.6B使用全攻略

语音处理新利器&#xff1a;Qwen3-ForcedAligner-0.6B使用全攻略 1. 为什么你需要语音对齐能力 1.1 语音处理中常被忽略的关键环节 在语音识别、配音制作、字幕生成、教学视频剪辑等实际工作中&#xff0c;很多人只关注“识别出文字”&#xff0c;却忽略了更关键的一步&…

作者头像 李华
网站建设 2026/4/16 11:14:31

通过定时器中断驱动蜂鸣器演奏音乐的系统学习

51单片机蜂鸣器唱歌&#xff1a;从定时器翻转到《小星星》的完整实现路径 你有没有试过&#xff0c;在一个只有P1.0口、一颗9013三极管和一只无源蜂鸣器的最小系统上&#xff0c;让单片机“唱”出清晰可辨的旋律&#xff1f;不是靠DAC芯片、不是靠音频Codec&#xff0c;更不是调…

作者头像 李华