黑马程序员——C语言基础——排列
来源:互联网 发布:mac口红铁锈红 编辑:程序博客网 时间:2024/06/05 10:09
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
排列
排列是C语言中常出现的话题,有些题可以用全排列来做,也可以根据条件用数学方法简化,使计算的效率更高。
示例:
用1,2,3,4,5,6,7,8,9组成三个数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3,输出所有解。
#include<stdio.h>
int main()
{
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, c, d, e, f, g, h, i,x;
for (x = 123; x >= 123 && x <= 329; x++)//三位不重复的数中最小的是123,最大的是789,而三位数ghi是abc的三倍,故x必须满足范围
{
a = x / 100;//一个三位数除以100便得它的百位上的数
b = (x / 10) % 10;//一个三位数除以10得两位数,再对10取余便得这个三位数的十位上的数
c = x % 10;//一个三位数对10取余便得它的个位
d = (2 * x) / 100;
e = (2 * x) / 10 % 10;
f = (2 * x) % 10;
g = (3 * x) / 100;
h = (3 * x)/10 % 10;
i = (3 * x) % 10;
if (a+b+c+d+e+f+g+h+i==45 && a*b*c*d*e*f*g*h*i==1*2*3*4*5*6*7*8*9)//附加两个条件,排除掉不符合条件的
{
printf("%d %d %d\n", x,2*x,3*x);
}
}
system("pause");
return 0;
}
int main()
{
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, c, d, e, f, g, h, i,x;
for (x = 123; x >= 123 && x <= 329; x++)//三位不重复的数中最小的是123,最大的是789,而三位数ghi是abc的三倍,故x必须满足范围
{
a = x / 100;//一个三位数除以100便得它的百位上的数
b = (x / 10) % 10;//一个三位数除以10得两位数,再对10取余便得这个三位数的十位上的数
c = x % 10;//一个三位数对10取余便得它的个位
d = (2 * x) / 100;
e = (2 * x) / 10 % 10;
f = (2 * x) % 10;
g = (3 * x) / 100;
h = (3 * x)/10 % 10;
i = (3 * x) % 10;
if (a+b+c+d+e+f+g+h+i==45 && a*b*c*d*e*f*g*h*i==1*2*3*4*5*6*7*8*9)//附加两个条件,排除掉不符合条件的
{
printf("%d %d %d\n", x,2*x,3*x);
}
}
system("pause");
return 0;
}
0 0
- 黑马程序员——C语言基础——排列
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础篇---基础语法
- 黑马程序员——C语言基础---基础语法
- 黑马程序员——C语言基础——指针
- 黑马程序员——C语言——基础运算
- 黑马程序员————C语言基础概念
- ——黑马程序员——C语言基础--数据类型
- 黑马程序员——C语言——基础语法
- 黑马程序员——C语言基础—-----指针
- 黑马程序员———C语言基础测试总结
- 黑马程序员——C语言基础02—数据类型
- 黑马程序员——C语言基础04—程序控制
- 黑马程序员——C语言基础05—函数
- 黑马程序员——C语言基础06—数组
- 黑马程序员——C语言基础07—指针
- 几种验证控件
- Restore IP Addresses
- 推荐系统相关算法(1):SVD
- linux下LED驱动开发(简单明了)
- VMware 虚拟机启动BIOS
- 黑马程序员——C语言基础——排列
- c/c++程序在内存中的分布
- 父子进程间文件描述符的共享
- 关于划分树
- POJ 1905 Expanding Rods
- 腾讯后台开发面试题
- Unicode(UTF-8, UTF-16)令人混淆的概念
- java API中提供的ArrayList的常用方法
- 模版-数学