算法竞赛入门经典 习题 2-10 排列(permutation)
2024-08-30 22:42:34
习题 2-10
用1,2,3。....,9组成3个三位数abc。def和ghi,每一个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出全部解。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int abc, def, ghi;
int a[10], count = 0; memset(a, 0, sizeof(a));
// printf("n\n");
for(abc = 123; abc <= 329; abc++)
{
def = 2*abc;
ghi = 3*abc; a[abc/100] = a[abc/10%10] = a[abc%10] = 1;
a[def/100] = a[def/10%10] = a[def%10] = 1;
a[ghi/100] = a[ghi/10%10] = a[ghi%10] = 1;
int i;
for( i = 1; i <= 9; i++)
count += a[i]; if(count == 9) printf("%d %d %d\n", abc, def, ghi);
count = 0;
memset(a, 0, sizeof(a));
}
system("PAUSE");
return 0;
}
总结:1 将全部可能出现的数字作为一个一维数组的下标,最后推断之和是否为9,假设小于9,必有重合。反之每一个数字仅仅有一个
2 推断过后。count和数组要清零。
最新文章
- HDU 5944 Fxx and string(暴力/枚举)
- java正则随笔
- 清除ASPX页面中的meta:resourceKey=";[a-zA-Z0-9]+";
- MyBatis 中 Result Maps collection already contains value for xxx 错误原因
- core--线程同步(内核模式)
- Activity与WindowManagerService服务的连接过程分析
- 删除mysql重复记录的办法
- 【原创】Libjpeg 库使用心得(一) JPEG图像DCT系数的获取和访问
- C#验证字符串是否是数字,是否包括中文,是否是邮箱格式,是否是电话格式
- HttpClient模拟get,post请求并发送请求参数(json等)
- Apache降权和禁用PHP危险函数
- UltraEdit激活方法
- UEditor工具栏上自定义按钮、图标、事件和右击菜单添加自定义按钮
- 拥抱.NET Core系列:MemoryCache 缓存选项
- 说说struts2中拦截器的请求流程一(模拟大致流程)
- SQL server脚本语句积累
- mysql-8.0.13在windows上的部署
- 修改Arduino IDE默认字体
- 下拉菜单被表单、图片、FLASH挡住的解决办法
- SharePoint JavaScript API 根据文件路径删除文件
热门文章
- Microsoft SQL Server学习(六)--查询语句
- js获取地址栏参数2种最简单方法
- 探索 DWARF 调试格式信息
- [Tensorflow] 使用 model.save_weights() 保存 Keras Subclassed Model
- 简单工厂模式&;工厂方法模式&;抽象工厂模式的区别
- 网站卡测试用 PageSpeed Insights
- Linux kernel 内存 - 页表映射(SHIFT,SIZE,MASK)和转换(32位,64位)
- iOS中NSAttributedString的使用--对关键字着色,以及处理html实例
- videojs
- 网络基础——UDP