计算24点小程序
来源:互联网 发布:tomcat启动数据库报错 编辑:程序博客网 时间:2024/06/05 21:59
//**************24点计算小程序************* //作者:Linx-huo //版本:v1.0 //创建时间:2017/04/12//主要功能:随机生成四个数通过加减乘除运算得到24 // //**************************************** #include<iostream.h>#include <ctime>#include <cstdlib>int jjcc(int a,int b,char sig);int calExpress(int a,int b,int c,int d);char sig[4]={'+','-','*','/'};bool flag=true;int num=0;void main(){ char t;int a,b,c,d,s[4],i,j,k,m;clock_t t1=clock(); //产生随机数cout<<"计算24点的四个数为"; srand((unsigned)time(NULL)); a=rand()%13+1;b=rand()%13+1;c=rand()%13+1;d=rand()%13+1;cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;cout<<"需要帮助吗?(y/n)"<<endl;if((t=cin.get())=='y'){s[0]=a;s[1]=b;s[2]=c;s[3]=d;for(i=0;i<4;i++)for(j=0;j<4;j++)for(k=0;k<4;k++)for(m=0;m<4;m++)if(i!=j && i!=k && i!=m && j!= k && j!=m && k!=m)if(calExpress(s[i],s[j],s[k],s[m]) ==1) return;if (num==0) cout << "no answer" << endl;}}int jjcc(int a,int b,char sig) //计算两个数的加减乘除的结并返回{switch(sig){case'+':return a+b;case'-':return a-b;case'*':return a*b;case'/':if(a%b!=0) flag=false;return a/b;}}int calExpress(int a, int b, int c, int d) //寻找满足结果为24的式子{int temp1,temp2,temp3;for(int i=0;i<4;i++){for(int j=0;j<4;j++){for(int k=0;k<4;k++){flag=true;if(i<=1){if(j<=1){temp1=jjcc(c,d,sig[k]);temp2=jjcc(a,b,sig[i]);temp3=jjcc(temp1,temp2,sig[j]);if(temp3==24&&flag==true){num++;cout<<a<<sig[i]<<b<<sig[j]<<c<<sig[k]<<d<<"=24"<<endl;return 1;}}else{temp1=jjcc(b,c,sig[j]);temp2=jjcc(temp1,d,sig[k]);temp3=jjcc(a,temp2,sig[i]);if(temp3==24&&flag==true){cout<<a<<sig[i]<<b<<sig[j]<<c<<sig[k]<<d<<"=24"<<endl;num++;return 1;}}}else{temp1=jjcc(a,b,sig[i]);if(j<=1){temp2=jjcc(c,d,sig[k]);temp3 = jjcc(temp1,temp2,sig[j]);if(temp3 == 24&& flag == true){ num++;cout << a << sig[i] << b << sig[j] <<c << sig[k] << d << " = 24"<< endl;return 1;}}else{temp2 = jjcc(temp1, c, sig[j]);temp3 = jjcc(temp2, d, sig[k]);if(temp3 == 24&& flag == true){num++;cout << a << sig[i] << b << sig[j] <<c << sig[k] << d << " = 24"<< endl;return 1;}}}}}}return 0;}
0 0
- 计算24点小程序
- 计算学分绩点的小程序(这是江科大15级计算机下学期的绩点计算小程序)
- 一个计算24点的程序
- 一个不错的24点计算程序
- 计算24点的简单程序
- 小程序注意点
- 计算工时小程序
- 计算24点的程序及分析过程
- 小程序怎么打断点
- 计算天数的小程序
- 税后工资计算小程序
- 建立计算点时的小错误
- python 计算程序剩余时间的小程序
- 计算24点
- 计算24点
- C#计算24点
- 计算24点
- Java计算24点
- PAT_乙级_1004_筱筱
- Html5——File、FileReader、Blob、Fromdata对象
- 二分查找
- java:逆波兰表示法(后缀表达式)
- flux
- 计算24点小程序
- mysql索引的使用及优化方法
- 什么时候使用z-index?
- centos 7 x86_64 与 centos 7 32位系统安装的注意事项
- Linux的gcc指令
- C/C++ 之 typedef的用法
- tensorflow的基本用法(四)——placeholder
- ThinkPHP3.2.3 语言包切换中英文切换
- 15个私有云的DevOps 开源工具 | 附下载和示例