算二十四的第四题

来源:互联网 发布:vscode php快捷 编辑:程序博客网 时间:2024/05/18 01:56


描述:

输入4个1~13的整数,不改变顺序,且运算次序为先做第一个运算,再做第二个运算,最后做第三个运算,即(((a ? b) ? c) ? d), 能否得到24。

输入:

输入4个1~13的整数。

输出:

不改变4个整数的顺序,且运算次序为先做第一个运算,再做第二个运算,最后做第三个运算的情况下,能否得到24。
如果能则输出“Yes”,否则输出“No”。

输入样例:

1 5 4 1

输出样例:

Yes


#include<iostream>

using namespace std;

int suan(int a,int b,int dire);//计算函数

int main(){ int a, b, c,d;//定义输入  int m, n, h;//m:a与b的运算;n:m与c的运算;h:n与d的运算  int i, j, k;//循环变量  int flag=0;  cin >> a >> b >> c >> d;//输入   for(i = 0;i < 3;i++) {  m = suan(a, b, i);//m:a与b的运算  for(j = 0;j < 3;j++)  {   n = suan(m, c, j);//m与c的运算   for(k = 0;k < 3;k++)   {    h = suan(n, d, k);//n与d的运算    if(h == 24)    {//最后的结果为24      flag = 1;    }   }  } }  if(flag == 1) {  cout << "Yes" << endl; } if(flag == 0) {  cout << "No" << endl; }}

int suan(int a,int b,int dire){ if(dire == 0) {  return(a + b); } if(dire == 1) {  return(a - b); } if(dire == 2) {  return(a * b); }}

原创粉丝点击