按要求拼接字符串,因为都是正整数,所以先比较字符串的位数,位数不同就直接决定了大小;位数相同再按字典序直接比较大小
#include <iostream>
#include <string>
using namespace std;
int main() {
string x1, x2;
int k1, k2;
while (cin >> x1 >> k1 >> x2 >> k2) {
string str1, str2;
for (int i = 0; i < k1; i++) {
str1 += x1;
}
for (int i = 0; i < k2; i++) {
str2 += x2;
}
if (str1.size() > str2.size()) { // 先比较字符串的位数
cout << "Greater" << endl;
} else if (str1.size() < str2.size()) {
cout << "Less" << endl;
} else if (str1 > str2) { // 位数相同再按字典序直接比较大小
cout << "Greater" << endl;
} else if (str1 < str2) {
cout << "Less" << endl;
} else {
cout << "Equal" << endl;
}
}
return 0;
}
时间复杂度:O(k1+k2),用于生成拼接的字符串,其中k1,k2是给定的拼接次数
空间复杂度:O(k1+k2),用于存储拼接的字符串,其中k1,k2是给定的拼接次数

京公网安备 11010502036488号