本文主要是介绍1116 多二了一点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
solution
- 数位为奇数
- 前后段子串除最后一位相等&后段子串最后一位比前段子串最后一位大2
- 其他情况
#include<iostream>
#include<string>
using namespace std;
int main(){string s, x, y;int flag = 1;cin >> s;if(s.size() % 2) printf("Error: %d digit(s)", s.size());else{y = s.substr(0, s.size() / 2);x = s.substr(s.size() / 2, s.size() / 2);for(int i = 0; i < x.size(); i++){if((i == x.size() - 1 && x[i] - '0' - (y[i] - '0') != 2) ||(i != x.size() - 1 && x[i] != y[i])){printf("No: %s - %s != 2", x.c_str(), y.c_str());flag = 0;break;}}if(flag) printf("Yes: %s - %s = 2", x.c_str(), y.c_str());}return 0;
}
or
#include<iostream>
#include<string>
using namespace std;
int main(){string s, x, y;cin >> s;if(s.size() % 2) printf("Error: %d digit(s)", s.size());else{y = s.substr(0, s.size() / 2);x = s.substr(s.size() / 2, s.size() / 2);if(x.substr(0, x.size() - 1) == y.substr(0, x.size() - 1) && s[s.size() / 2 - 1] - '0' + 2 == s[s.size() - 1] - '0') printf("Yes: %s - %s = 2", x.c_str(), y.c_str());else printf("No: %s - %s != 2", x.c_str(), y.c_str());}return 0;
}
or
#include<iostream>
#include<string>
using namespace std;
int main(){string s, x, y;cin >> s;if(s.size() % 2) printf("Error: %d digit(s)", s.size());else if(s.substr(0, s.size() / 2 - 1) == s.substr(s.size() / 2, s.size() / 2 - 1) && s[s.size() / 2 - 1] - '0' + 2 == s[s.size() - 1] - '0') printf("Yes: %s - %s = 2", s.substr(s.size() / 2, s.size() / 2).c_str(), s.substr(0, s.size() / 2).c_str());else printf("No: %s - %s != 2", s.substr(s.size() / 2, s.size() / 2).c_str(), s.substr(0, s.size() / 2).c_str());return 0;
}
这篇关于1116 多二了一点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!