火柴棒的问题c语言(枚举)
规则:
1、a + b = c;
2、用完火柴棒;
代码如下:
1 #include <stdio.h> 2 int fun(int x); 3 4 int main() 5 { 6 int a,b,c,sum=0,m; 7 scanf("%d",&m); //输入火柴的根数 8 for(a=0;a<=1111;a++) 9 { 10 for(b=0;b<=1111;b++) 11 { 12 c=a+b; 13 if(fun(a) + fun(b) +fun(c)==m-4) 14 { 15 printf("%d + %d = %d\n",a,b,c); 16 sum++; 17 } 18 } 19 } 20 printf("total %d\n",sum); //总的方法 21 return 0; 22 } 23 24 int fun(int x) 25 { 26 int num=0; 27 char a[]={6,2,5,5,4,5,6,3,7,6}; 28 while((x/10)!=0) 29 { 30 num += a[x%10]; 31 x/=10; 32 } 33 num +=a[x]; 34 return num; 35 }
该方法视 a+b=c与b+a=c为不同方法。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。