算法競賽入門習題2-6排列

用1,2,3,…,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要
求abc:def:ghi=1:2:3。按照“abc def ghi”的格式輸出所有解,每行一個解。提示:不必太動腦筋

感覺有點意思。。。

#include <stdio.h>
void apart(int x,int *p,int *q);
int main()
{
	int i,j,k;
	for(i=123;i<=329;i++)
	{
		int mul=1,add=0;
		j=2*i;
		k=3*i;
		apart(i,&mul,&add);
		apart(j,&mul,&add);
		apart(k,&mul,&add);
		if(mul==1*2*3*4*5*6*7*8*9&&add==45)
		printf("%d %d %d\n",i,j,k);
	}
	return 0;		
}
void apart(int x,int *p,int *q)
{
	int a,b,c;
	a=x/100;
	b=(x/10)%10;
	c=x%10;
	*p=*p*a*b*c;
	*q=*q+a+b+c;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章