排列(permutation)
目录
题目:
解题思路:
总代码:
题目:
用1,2,3~~9组成3个三位数,abc,def,ghi,每个数字恰好使用一次
要求:abc:def:ghi=1:2:3 ,写出三位数所产生的所有解,从小到大排列 按照abc def ghi输出,每行一个解。
解题思路:
首先最小一个数为123,最大数为987,为了满足1:2:3,那么第一个数字abc的范围为123-987/3,即123—329
for (int i = 123; i <= 329; i++)//第一个数{b = i * 2;//第二个数c = i * 3;//第三个数
}
因为要求每个数字只出现一次,我们可以采用数组的方式,比如123,我们可以将百位的1存放到数组下标为【1】的位置,十位的2可以放在下标为【2】的位置....依次类推然后将他们所有的值都改为1,如果他们的和为9,那么就能保证既满足1:2:3的规律,又能保证数字不重复。
int arr[100]={0};arr[i / 100] = arr[i / 10 % 10] = arr[i % 10] = 1;arr[b / 100] = arr[b /10% 10] = arr[b % 10] = 1;arr[c / 100] = arr[c /10% 10] = arr[c % 10] = 1;for (int m=1;m<10;m++){sum =sum+ arr[m];}if (sum==9){printf("%d %d %d\n", i, b, c);}
总代码:
#include<stdio.h>
#include<string.h>
int main()
{int sum = 0;int b = 0;int c = 0;int arr[10] = { 0 };for (int i = 123; i <= 329; i++){memset(arr, 0, sizeof(arr));b = i * 2;c = i * 3;arr[i / 100] = arr[i / 10 % 10] = arr[i % 10] = 1;arr[b / 100] = arr[b /10% 10] = arr[b % 10] = 1;arr[c / 100] = arr[c /10% 10] = arr[c % 10] = 1;for (int m=1;m<10;m++){sum =sum+ arr[m];}if (sum==9){printf("%d %d %d\n", i, b, c);}sum = 0;memset(arr, 0, sizeof(arr));}return 0;
}
排列(permutation)相关推荐
- [Swift]LeetCode60. 第k个排列 | Permutation Sequence
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...
- 排列(permutation)2_6
在STL中,用来计算排列组合的函数有 next_permutation() 和 prev_permutation() ,包含在头文件#include <algorithm>.前者是求出下一 ...
- 翻译:组合和排列Combination and Permutation
有什么不同? 在英语中,我们松散地使用"组合"这个词,没有考虑事物的顺序是否重要.换句话说: "我的水果沙拉是苹果.葡萄和香蕉的组合"我们不在乎水果的顺序,它们 ...
- 深入浅出统计学 第六章 排列与组合
内容简介 本章内容主要介绍了两个基本概念,排序与组合 其中组合是之后计算二项分布的预备知识 对于计算而言,重点在于理解其所适应的不同情况,并记忆公式. 两者区别(P261): 1. 排列与顺序有关 2 ...
- 从n个不同元素中取出m个元素排列组合
01. 问题 问题01. 算法: 从n个不同元素中取出m个元素的排列数是多少? 这些排列分别是什么? (其中: n > 0; 0 < m ≤ n;) 问题02. 算法: 从n个不同元素中取 ...
- R语言【基本计数原理与技巧——阶乘、组合、排列】
加法原理定义:做一件事有n种方法,第一类有m1m_1m1种方法,第二类有m2m_2m2种方法,-第n类有mnm_nmn种方法,完成这件事共有m1m_1m1+m2m_2m2+-+mnm_nmn ...
- NLP重大突破?一文读懂XLNet“屠榜”背后的原理
作者 | 李理 原文链接:https://fancyerii.github.io/2019/06/30/xlnet-theory/ 本文介绍XLNet的基本原理,读者阅读前需要了解BERT等相关模型, ...
- 微生物相关网络构建教程:MENA, LSA, SparCC和CoNet
点击上方蓝色「宏基因组」关注我们!专业干货每日推送! 原文为自自Microbial association network construction tutorial http://psbweb05. ...
- 微生物相关网络构建教程中文Microbial association network construction tutorial
原文为自Microbial association network construction tutorial http://psbweb05.psb.ugent.be/conet/microbial ...
- 失败 安装scikit_scikit-learn0.22版本最新发布
搞机器学习的应该没有人不知道scikit-learn吧,这个在ML中使用非常频繁的库在昨天已经发布了它最新版本0.22了. scikit-learn 0.22的发布,其中包含许多错误修复和新功能!我们 ...
最新文章
- 使用单片机对STC8G,8H,8A进行ISP下载程序
- shell基础知识总结
- mysql 1个月多少天_在MySQL日期间隔中,1个月是否与30天相同? 1个季度与3个月相同吗?等等?...
- Unity教程:如何使用枚举来帮助简化游戏开发
- 【MATLAB统计分析与应用100例】案例008:调用rand函数生成均匀分布随机数
- 作者:高丰,英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
- 10本最火的中台与数字化转型图书,朋友圈都在传
- TreeView和Menu
- 天生对数字不敏感的人,如何提升对数据的敏感度?
- IDEA 导入项目中文注释乱码如何解决
- 独家 | 利用滴滴出行数据透视中国城市空间发展(附视频PPT)
- 手把手带你写 Vue 可视化拖拽页面编辑器
- 操作系统学习笔记:操作系统基础知识
- html调用打印机,[Javascript]网页调用打印机
- Python周刊491期
- 联想网上审批系统方案
- div的display和visible的区别
- IPGuard忘记控制台密码处理方法
- [RK3288][Android6.0] 移植笔记 --- 固件无法下载到eMMC调试
- 网上惊现刘翔等30位明星QQ号.