第一题:
# include<iostream>
using namespace std;
// 判断素数
bool is_prime(int n)
{
// 1不是素数
for(int i = 2; i < n/2; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
while(1)
{
int n;
cin >> n;
if(n == 0){
break;
}
else{
int count = 0;
for(int i = 2; i < n/2; i++)
{
if(is_prime(i) && is_prime(n - i))
count ++;
}
cout << count << endl;
}
}
return 0;
}
第二题
# include<iostream>
# include<string>
using namespace std;
bool a_z(char r){
if(r >= 'a' && r <= 'z')
return true;
else
return false;
}
bool A_Z(char r){
if(r >= 'A' && r <= 'Z')
return true;
else
return false;
}
bool zero_nine(char r){
if(r >= '0' && r <= '9')
return true;
else
return false;
}
bool special(char r){
if(r == '~' || r == '!' || r == '@' || r == '#' || r == '$' || r == '%' || r == '^')
return true;
else
return false;
}
int main()
{
int n;
cin >> n;
while(n--)
{
string s;
cin >> s;
// 判断长度
int len = s.length();
if(len < 8 || len > 16){
cout << "NO" << endl;
break;
}
int count[4] = {0, 0, 0, 0};
bool flag = true;
for(int i = 0; i < len; i++)
{
char r = s.at(i);
if(A_Z(r))
count[0] = 1;
else if(a_z(r))
count[1] = 1;
else if(zero_nine(r))
count[2] = 1;
else if(special(r))
count[3] = 1;
else{
flag = false;
break;
}
}
int sum = count[0] + count[1] + count[2] + count[3];
if(flag && sum >= 3)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
return 0;
}