1、查找输入整数二进制中1的个数
int sreach1(int num)
{
int count = 0;
while (num)
{
count++;
num = num&(num - 1);
}
return count;
}
2、手套
int findMinimum(int n, vector<int> left, vector<int> right) {
int left_sum = 0, left_min = INT_MAX;
int right_sum = 0, right_min = INT_MAX;
int sum = 0;
for (int i = 0; i < n; ++i) {
if (left[i] * right[i] == 0) {
sum += left[i] + right[i];
}
else {
left_sum += left[i];
left_min = left_min < left[i] ? left_min : left[i];
right_sum += right[i];
right_min = right_min < right[i] ? right_min : right[i];
}
}
return sum + min(right_sum - right_min + 1, left_sum - left_min + 1) + 1;
}
3、完全数的计算
int Count_of_Perfect_Number(int n)
{
int count = 0, sum = 0;
for (int i = 2; i <= n; ++i)
{
for (int j = 1; j<i; ++j)
{
if (i%j == 0)
sum += j;
}
if (sum == i)
count++;
sum = 0;
}
return count;
}
4、扑克牌大小
string FindMax(const string& str) {
if (str.find("joker JOKER") != string::npos)
return "joker JOKER";
int dash = str.find('-');
string str1 = str.substr(0, dash);
string str2 = str.substr(dash + 1);
int str1_count = count(str1.begin(), str1.end(), ' ') + 1;
int str2_count = count(str2.begin(), str2.end(), ' ') + 1;
string str1_f = str1.substr(0, str1.find(' '));
string str2_f = str2.substr(0, str2.find(' '));
if (str1_count == str2_count)
{
string str_ = "345678910JQKA2jokerJOKER";
if (str_.find(str1_f)>str_.find(str2_f))
return str1;
return str2;
}
if (str1_count == 4)
return str1;
else if (str2_count == 4)
return str2;
string s = "ERROR";
return s;
}
int main() {
string str, res;
while (getline(cin, str)) {
res = FindMax(str);
cout << res << endl;
}
}