终于是开始写博客了。。。
今年开学算是想要给自己的生活带一点变化,就还是尝试下写博客来记录自己的生活(其实就是随大流)。
这次就直接拿自己今天做的一道题水一水吧。。。
题目是刘汝佳算法入门书上的题。
用1,2,3~9组成3个三位数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。按照"abc def ghi"的格式输出所有解,每行一个解。
个人思路
遍历最小的数字的每种情况,来验算是否每个数字都只出现一次。
一定要在每次循环的数据初始化上多加注意!
#include<stdio.h>
int main(){
int a,b,c,i,j,x,y,z,p=0;
int count[9]={0};
for(a=123;a<=330;a++)
{
b=2*a;c=3*a;
x=a;y=b;z=c;
for(j=0;j<3;j++)
{count[a%10-1]++;a=a/10;}
for(j=0;j<3;j++)
{count[b%10-1]++;b=b/10;}
for(j=0;j<3;j++)
{count[c%10-1]++;c=c/10;}
for(i=0;i<=8;i++)
{
if(count[i]!=1)
{p++;break;}
}
/*for(i=0;i<=8;i++)
printf("%d ",count[i]);
printf("\n");*/
if(p!=0)
{
for(i=0;i<=8;i++)
count[i]=0;
p=0;
a=x;
continue;
}
printf("%d %d %d\n",x,y,z);
p=0;
for(i=0;i<=8;i++)
count[i]=0;
a=x;
}
return 0;
}
btw很早之前其实我就想用用看markdown来写东西,今天为了写博客学习了下markdown的语法也算是完成了我一件心事(虽然应该还用得很烂),希望以后能有更多机会增长markdown的使用熟练度,顺便学学latex怎么用。