2012 素数判定
int isSu(int a){
if(a<=1) return 0;
else{
for(int i=2;i<=sqrt(a);i++){
if(a%i==0) return 0;
}
return 1;
}
}
2017字符串统计(string使用)
int main(){
int n,i;
string s;
cin>>n;
while(n--){
int count=0;
cin>>s;
for(i=0;i<s.size();i++){
if(s[i]>='0'&&s[i]<='9') count++;
}
cout<<count<<endl;
}
return 0;
}
2018
动态规划
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,n;
int a[70];
a[1]=1;a[2]=2;a[3]=3;
for(i=4;i<=60;i++){
a[i]=a[i-1]+a[i-3];
}
while(cin>>n){
if(n==0) break;
cout<<a[n]<<endl;
}
return 0;
}
2024
输入一行字符串不能用cin(s),这到空格就结束了,要用getLine(cin,s)。
isalnum(s[i])判断s[i]是否是数字或字母,isdigit(s[0])判断s[0]是否是数字
#include<bits/stdc++.h>
using namespace std;
bool legal(string s) {
if (isdigit(s[0])) return false;
for (int i = 0; i < s.size(); i++) {
if (!isalnum(s[i]) && s[i] != '_') return false;
}
return true;
}
int main() {
int t; cin >> t;
getchar();
while (t--) {
string s;
getline(cin, s);
if (legal(s)) cout << "yes" << endl;
else cout << "no" << endl;
}
return 0;
}
## 2026
toupper()将小写字母变大写
tolower()将大写变小写
2028
辗转相除法,小的在前要交换
int gcd(int a,int b){
if(a<b){
int c=a;
a=b;
b=c;
}
int a1=a,b1=b;
while(b1){
int c=a1%b1;
a1=b1;
b1=c;
}
return a/a1*b;
}
a1是a、b最大公约数,a*b/a1是最小公倍数`
2047