UVa10924 Prime Words
解説
この問題では 1 は素数として扱っている。
#include <bits/stdc++.h> using namespace std; #define REP(i,a,b) for(int i=a;i<(int)b;i++) #define rep(i,n) REP(i,0,n) inline bool isPrime(int x) { int y = x; for(int i=2; i<=sqrt(x); i++) { if(y % i == 0) return false; } return true; } int main() { for(string word; cin >> word;) { int size = word.size(); int sum = 0; for(int i=0; i<size; i++) { if(isupper(word[i])) { sum += word[i]-'A'+27; } else { sum += word[i]-'a'+1; } } if(isPrime(sum)) { cout << "It is a prime word.\n"; } else { cout << "It is not a prime word.\n"; } } return 0; }