1.判断素数
bool isPrime(int num) {
if (num == 1) return false;
for (int i = 2; i <= int(sqrt(num)); i++)
if (num % i == 0)
return true;
return true;
}
2.求最大公约数
int gcd(int a, int b) {
return !b ? a : gcd(b, a % b);
}
3.求最小公倍数
int lcm(int a, int b) {
return a * b / gcd(a, b); //根据数学关系,两个整数的最小公倍数为它们的乘积除以它们的最大公约数
}
4.判断闰年
bool leapYear(int y) {
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
return 1; //是闰年
return 0; //不是闰年
}
5.显示连续字符及其个数(对空格适用)
//输入:aaabbbcccc
//输出:a3b3c4
#include<bits/stdtr1c++.h>
using namespace std;
int main() {
string s1;
int i, j;
getline(cin, s1);
string s2 = "";
for (i = 0; i < int(s1.size()); i = j) {
for (j = i; j < int(s1.size()) && s1[j] == s1[i]; j++) ;
s2 += s1[i] + to_string(j - i);
}
cout << s2;
return 0;
}
6.连续字符串截取(使用substr函数,对空格适用)
//输入:aaabbbcccc
//输出:aaa
// bbb
// cccc
#include<bits/stdtr1c++.h>
using namespace std;
int main() {
string s1;
int i, j;
getline(cin, s1);
vector<string> v;
for (i = 0; i < int(s1.size()); i = j) {
for (j = i; j < int(s1.size()) && s1[j] == s1[i]; j++) ;
v.emplace_back(s1.substr(i, j - i));
}
for (auto x : v)
cout << x << endl;
return 0;
}
7.对于string中字母的大小写转换函数
transform(str.begin(), str.end(), str.begin(), ::tolower);//将str字符串中的大写转换为小写,保存在str中
transform(str.begin(), str.end(), str.begin(), ::toupper);//小写转换为大写
transform(str.begin(), str.end(), str.begin(), exchange);//大小写切换
8.合并两个无序序列为一个有序序列
方法⑴
sort(v1.begin(), v1.end());
sort(v2.begin(), v2.end()); //先将两个序列有序化
v3.resize(v1.size() + v2.size()); //另开一个序列,需要先分配好空间
merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin()); //将两个序列合并入第三个序列
方法⑵
v3.insert(v3.end(),v1.begin(),v1.end());
v3.insert(v3.end(),v2.begin(),v2.end()); //先将两个序列依次插入第三个序列中
sort(v3.begin(),v3.end()); //对第三个序列进行排序
9.K进制转K进制
#include<bits/stdtr1c++.h>
using namespace std;
string itoa(int num, int k) {
string s;
do {
int t = num % k;
if (k >= 0 && k <= 9) s += (t + '0');
else s += ('A' + t - 10);
num /= k;
} while (num != 0);
reverse(s.begin(), s.end());
return s;
}
int main() {
int num, k;
cin >> num >> k; //输入需要转换的数字和目标进制
string ans = itoa(num, k);
cout << ans;
return 0;
}
标签:begin,竞赛,end,函数,int,s1,str,模板,string
From: https://www.cnblogs.com/Fare-well/p/16570838.html