凑算式(蓝桥杯)

            凑算式(蓝桥杯)


1.凑算式

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

2.C语言代码实现(代码课拷贝下来看这样排版会好点):

#include <stdio.h>
#include<math.h>
int main(){
int b,c,d,e,f,g,h,i,j;                         //从b-j分别表示a-i,都向后移了以为字母。
int k = 0;
for(b=1; b<=9; b++){
for(c=1; c<=9; c++){
if(b==c){
continue;
}
for(d=1; d<=9; d++){
if(d==c || d==b){
continue;
}
for(e=1; e<=9; e++){
if(e==b || e==c || e==d){
continue;
}
for(f=1; f<=9; f++){
if(f==b || f==c || f==d || f==e){
continue;
}
for(g=1; g<=9; g++){
if(g==b || g==c || g==d || g==e || g==f){
continue;
}
for(h=1; h<=9; h++){
if(h==b || h==c || h==d || h==e || h==f || h==g){
continue;
}
for(i=1; i<=9; i++){
if(i==b || i==c || i==d || i==e || i==f || i==g || i==h){
continue;
}
for(j=1; j<=9; j++){
if(j==b || j==c || j==d || j==e || j==f || j==g || j==h || j==i){
continue;
}
if(fabs(b*1.0 + c*1.0 / d + (e * 100 + f * 10 + g)*1.0 / (h * 100 + i * 10 + j) - 10.00) < 0.0000000001){
k++;
printf("%d %d %d %d %d %d %d %d %d\n",b,c,d,e,f,g,h,i,j);
}
}
}
}
}
}
}
}
}
}
printf("%d",k);
return 0;
}

3.运行结果:

4.结果为:29

5.总结思路:用暴力枚举法,但要注意的是九个数不能互相重复和fabs()函数的运用。

 

转载于:https://www.cnblogs.com/Java-ghd-1008/p/6680111.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值