-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path10924.cpp
40 lines (31 loc) · 805 Bytes
/
10924.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <cmath>
#include <cstdio>
#include <cstring>
using namespace std;
bool check(int sum)
{
int i, bound;
if (sum > 2 && sum % 2 == 0) return false;
bound = (int)(sqrt((double)sum) + 0.5);
for (i = 3; i <= bound; i += 2)
if (sum % i == 0) return false;
return true;
}
int main(void)
{
char word[21];
int i, sum;
while (scanf("%s", word) != EOF) {
sum = 0;
for (i = 0; i < strlen(word); ++i)
if ('a' <= word[i] && word[i] <= 'z')
sum += word[i] - 'a' + 1;
else if ('A' <= word[i] && word[i] <= 'Z')
sum += word[i] - 'A' + 27;
if (check(sum))
printf("It is a prime word.\n");
else
printf("It is not a prime word.\n");
}
return 0;
}