acm简单的问题一直wrong answer

学习 时间:2026-04-09 04:41:35 阅读:6099
acm简单的问题一直wrong answer有一些三个整数构成的整数群,它的结构是:第一行整数N表示后面有N个几个整数群,每个整数群由三个整数组成.尝试用+、-、×、/(整除)来凑前两个数的计算结果,以图与第三个整数相等.如果能凑到相等,则输出该表达式,否则,输出None.输入将保证若表达式存在,则一定唯一.Sample Input:5123 1234 1012 34 2212 12 245678910 7 567899 4 2Sample Output:1234/123=1034-12=2212+12=24None9/4=2程序如下#include #include #include #include using namespace std;string convertToString(double x){\x05ostringstream o;\x05if(on;\x05for(int j=0;j>a>>b>>c;\x05 \x05\x05if(a+b==c)\x05\x05{\x05\x05\x05s=convertToString(a)+"+"+convertToString(b)+"="+convertToString(c);\x05\x05\x05v.push_back(s);\x05\x05\x05continue;\x05\x05}\x05\x05if(a-b==c||b-a==c)\x05\x05{s=convertToString(a>b?a:b)+"-"+convertToString(b>a?a:b)+"="+convertToString(c);\x05\x05\x05v.push_back(s);\x05\x05\x05continue;\x05\x05}if(a*b==c)\x05\x05{s=convertToString(a)+"*"+convertToString(b)+"="+convertToString(c);\x05\x05\x05v.push_back(s);\x05\x05\x05continue;\x05\x05}\x05\x05if(a/b==c||b/a==c)\x05\x05{s=convertToString(a>b?a:b)+"/"+convertToString(b>a?a:b)+"="+convertToString(c);\x05\x05\x05v.push_back(s);\x05\x05\x05continue;\x05\x05}\x05\x05else\x05\x05\x05v.push_back("None");\x05} \x05for(int i=0;i

最佳回答

着急的自行车

纯情的雪碧

2026-04-09 04:41:35

没考虑右边数是负数的情况,比如12-34=-22 -6/3=-2解决方法就是if(a/b==c||b/a==c) 还有if(a-b==c||b-a==c) 不要写成这种或的形式 直接判断到底是a-b=c还是b-a=c,然后输出即可另外不用把所有的结果存起来一起输出。得到一个结果就cout输出一个结果即可。这样避免很多麻烦。

最新回答共有2条回答

  • 幸福的白云
    回复
    2026-04-09 04:41:35

    没考虑右边数是负数的情况,比如12-34=-22 -6/3=-2解决方法就是if(a/b==c||b/a==c) 还有if(a-b==c||b-a==c) 不要写成这种或的形式 直接判断到底是a-b=c还是b-a=c,然后输出即可另外不用把所有的结果存起来一起输出。得到一个结果就cout输出一个结果即可。这样避免很多麻烦。

上一篇 月球绕地球旋转一周,约需要42524分钟,合几日几小时几分?3Q

下一篇 从外观上怎么辨别煤的种类呢》比如大小.颜色.