火柴棍等式c语言

火柴棍等式c语言_第1张图片

分析:我们可以枚举等式,在判断这些等式是由多少根火柴组成,在把火柴数量和之前输入的比较,如果相等,那么就统计一次,注意的是等号和加号需要减去四根。

#include 
int f(int a){//判断某一个数字是由几根火柴组成的 
	int num[10]={6,2,5,5,4,5,6,3,7,6};
	int sum=0;
	if(a!=0){
	while(a){
		sum+=num[a%10];
		a/=10;
	}
	return sum;
	}
	else{
		return 6;
	}
}
int main(){
	int m,n,j,i,sum=0;
	scanf("%d",&n);
	for(i=0;i<1111;i++){//因为最大是由四个1组成,所以从1111开始枚举所以情况 
		for(j=0;j<1111;j++){
			m=i+j;
			if((f(i)+f(j)+f(m)+4)==n){//加上等号和加号消耗的四根火柴 
				sum++;
			}
		}
	}
	printf("%d",sum);
	return 0;
}

你可能感兴趣的:(c语言,算法,开发语言)