警匪110

编程入门 行业动态 更新时间:2024-10-08 14:36:29

警匪110

警匪110

 问题描述:

匪警请拨110,即使手机欠费也可拨通!

   为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!

   某批警察叔叔正在进行智力训练:

    12 3 4 5 6 7 8 9 =110;

    请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。

   请你利用计算机的优势,帮助警察叔叔快速找到所有答案。

   每个答案占一行。形如:

12+34+56+7-8+9

123+4+5+67-89

...... 


#include<stdio.h>
#include<math.h>
#define n 8int a[9]={1,2,3,4,5,6,7,8,9};
int main()
{int sum;int ans=110;int i,j,k,x,y;int num,temp;int cnt=0;int count1,count2,count3;for(num=0;num<pow(3,n);num++){temp=num;sum=0;int flag=1;count1=a[0]; for(j=1;j<=n;j++){if(temp%3==0)    //两个数字之间没有操作符 {count1=count1*10+a[j];					}if(temp%3==1)    //两个数字之间的操作符为‘+’ {if(flag==1)      //上一个操作符为‘+’ {sum+=count1;count1=a[j];	}if(flag==2)     //上一个操作符为‘-’ {sum-=count1;count1=a[j];}flag=1;}if(temp%3==2)    //两个数字之间的操作符为‘-’ {if(flag==1)      //上一个操作符为‘+’ {sum+=count1;count1=a[j];}if(flag==2)     //上一个操作符为‘-’ {sum-=count1;count1=a[j];}flag=2;}	temp/=3;	}if(flag==1)sum+=count1;if(flag==2)sum-=count1; if(sum==ans){cnt++;temp=num;for(i=0;i<n;i++){if(temp%3==0){printf("%d",a[i]);}if(temp%3==1)printf("%d+",a[i]);if(temp%3==2)printf("%d-",a[i]);temp/=3;}printf("%d\n",a[n]);}}printf("%d\n",cnt);return 0;} 


也可以不用数组,用j把数组a换掉

for(num=0;num<pow(3,n);num++){temp=num;sum=0;int flag=1;count1=1; for(j=1;j<=n;j++){k=j+1;if(temp%3==0)    //两个数字之间没有操作符 {count1=count1*10+k;					}if(temp%3==1)    //两个数字之间的操作符为‘+’ {if(flag==1)      //上一个操作符为‘+’ {sum+=count1;count1=k;	}if(flag==2)     //上一个操作符为‘-’ {sum-=count1;count1=k;}flag=1;}if(temp%3==2)    //两个数字之间的操作符为‘-’ {if(flag==1)      //上一个操作符为‘+’ {sum+=count1;count1=k;}if(flag==2)     //上一个操作符为‘-’ {sum-=count1;count1=k;}flag=2;}	temp/=3;	}if(flag==1)sum+=count1;if(flag==2)sum-=count1; if(sum==ans){//	printf("$$$$$$$$$$\n");cnt++;temp=num;for(i=1;i<=n;i++){if(temp%3==0){printf("%d",i);}if(temp%3==1)printf("%d+",i);if(temp%3==2)printf("%d-",i);temp/=3;}printf("9\n");}
}



更多推荐

警匪110

本文发布于:2024-02-28 06:27:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1768428.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:警匪

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!