穷举算法
来源:互联网 发布:mac解压rar免费 编辑:程序博客网 时间:2024/05/16 08:43
穷举法
eg1:把一元钞票换成一分、二分、五份硬币(每种至少一枚),有哪些种换法?
#include<stdio.h>
int main()
{
int m,i,j,k,count=0;
m=100-1-2-5;
for(i=0;i<=m/5;i++)
for(j=0;j<=(m-i*5)/2;j++)
{
k=m-i*5-j*2;
count++;
printf("%d %d %d\n",k+1,j+1,i+1);
}
printf("%d\n",count);
return 0;
}
eg2:将1,2...9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数.
#include<stdio.h>
int main()
{
int num[3],a[9],i,j,count;
for(a[0]=1;a[0]<=3;a[0]++)
for(a[1]=1;a[1]<=9;a[1]++)
for(a[2]=1;a[2]<=9;a[2]++)
{
count=1;
num[0]=a[0]*100+a[1]*10+a[2];
num[1]=2*num[0];
num[2]=3*num[0];
a[3]=num[1]/100; a[4]=num[1]/10%10; a[5]=num[1]%10;
a[6]=num[2]/100; a[7]=num[2]/10%10; a[8]=num[2]%10;
for(i=0;i<9;i++)
for(j=i+1;j<9;j++)
{
if(a[i]==0||a[i]>9)
count=0;
if(a[i]==a[j])
count=0;
}
if(count!=0)
printf("%d %d %d\n",num[0],num[1],num[2]);
}
return 0;
}
eg3:陈婷有一个E-MAIL邮箱的密码是一个5位数。但因为有一段比较长的日子没有打开这个邮箱了,陈婷把这个密码给忘了。不过陈婷自己是8月1日出生,而她妈妈的生日则是9月1日,她特别喜欢把同时是8l和9l的倍数用作密码。陈婷还记得这个密码的中间一位(百位数)是l。你能设计一个程序帮她找回这个密码吗?
#include<stdio.h>
int main()
{
int i;
for(i=2;(i*81*91)/100000==0;i++)
{
if((i*81*91)/100%10==1)
printf("%d\n",i*81*91);
}
return 0;
}
- 穷举算法
- 穷举算法
- 穷举算法
- 算法---穷举
- 穷举算法
- 算法-->穷举算法
- 穷举密码算法
- 穷举密码算法
- 枚举(穷举)算法
- 算法——穷举
- 百钱买百鸡-穷举算法
- 穷举算法系列
- 再试算法----穷举法
- 1.4 枚举(穷举)算法
- 常见算法-穷举
- python 穷举算法
- 算法基础--穷举
- 常用算法思想--穷举算法
- ios自定义标签栏
- LINUX 、Unix与windows系统的特点和区别
- poj 2488 骑士的旅行
- C语言将字符串转换成对应的数字(十进制、十六进制)
- 微软业务生产力平台基础架构优化(BPIO)中EPM模型分解
- 穷举算法
- select函数——单进程监视多个文件描述符
- 一步一步复习数据结构和算法基础-稀疏矩阵基本操作
- 高精度阶乘(压缩5位保存)nyist28大数阶乘
- 使用CSpreadSheet应该注意的几个问题
- ubuntu SVN随记
- 防止表单回车form自动提交以及检测回车事件并处理
- IOS UIGraphicsBeginImageContextWithOptions 版本适配问题
- Windows API 多线程-学习笔记(一)