排列 算法竞赛入门经典刘汝佳
2017-05-17 23:16
246 查看
用1,2,3.···,9组成三个三位数abc,def和ghi,每个数字恰好用一侧,要求abc:def:ghi=1:2:3。输出所有解。
数字中不含0;且不重复
#include<iostream>
using namespace std;
int main()
{
int m1,m2,m3;
m1=123;
int a[9];
while(m1<=329)
{
int flag=0;
m2=2*m1;
m3=3*m1;
a[0]=m1/100;
a[1]=(m1/10)%10;
a[2]=m1%10;
a[3]=m2/100;
a[4]=(m2/10)%10;
a[5]=m2%10;
a[6]=m3/100;
a[7]=(m3/10)%10;
a[8]=m3%10;
for(int i=0;i<9;i++)
{
if(a[i]==0)
{
flag=1;
break;
}
for(int j=i+1;j<9;j++)
{
if(a[i]==a[j])
{
flag=1;
break;
}
}
if(flag==1)
break;
}
if(flag==0)
cout<<m1<<" "<<m2<<" "<<m3<<"\n";
m1++;
}
return 0;
}
数字中不含0;且不重复
#include<iostream>
using namespace std;
int main()
{
int m1,m2,m3;
m1=123;
int a[9];
while(m1<=329)
{
int flag=0;
m2=2*m1;
m3=3*m1;
a[0]=m1/100;
a[1]=(m1/10)%10;
a[2]=m1%10;
a[3]=m2/100;
a[4]=(m2/10)%10;
a[5]=m2%10;
a[6]=m3/100;
a[7]=(m3/10)%10;
a[8]=m3%10;
for(int i=0;i<9;i++)
{
if(a[i]==0)
{
flag=1;
break;
}
for(int j=i+1;j<9;j++)
{
if(a[i]==a[j])
{
flag=1;
break;
}
}
if(flag==1)
break;
}
if(flag==0)
cout<<m1<<" "<<m2<<" "<<m3<<"\n";
m1++;
}
return 0;
}
相关文章推荐
- 刘汝佳p35,2-6(123排列)算法竞赛入门经典第二版
- 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第六章 1(Lists)
- 刘汝佳算法竞赛入门经典 第四单元习题答案自编
- 算法之路二:刘汝佳算法竞赛入门经典 组合数和素数判定
- 算法之路二:刘汝佳算法竞赛入门经典:STL不定长数组 木块问题 UVA101
- 算法之路二:刘汝佳算法竞赛入门经典 信息解码 UVA213
- 算法之路二:刘汝佳算法竞赛入门经典 3.3蛇形填数
- 算法之路二:刘汝佳算法竞赛入门经典:STL排序与检索 大理石在哪 UVA10474
- 算法之路二:刘汝佳算法竞赛入门经典 计算数组元素和
- 算法之路二:刘汝佳算法竞赛入门经典 3.9生成元 UVa1583
- 刘汝佳算法竞赛入门经典中的运算符>?问题
- 算法竞赛入门经典 习题2-10排列数字1~9形成1:2:3的等比数列
- 【索引】刘汝佳算法竞赛入门经典
- 算法之路二:刘汝佳算法竞赛入门经典 3.2开灯问题
- 算法之路二:刘汝佳算法竞赛入门经典 4.11刽子手游戏 UVa 489
- 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 2(Big Number)
- 刘汝佳算法竞赛入门经典 第二单元习题答案自编
- 刘汝佳算法竞赛入门经典中的运算符>?问题
- 算法竞赛入门经典 习题2-10 排列(permutation)
- 算法之路二:刘汝佳算法竞赛入门经典:c++结构体