輸入一個由大小寫字母組成的字元串,每個字元代表着不同的數字,計算出這個字元串的數值,判斷是否是素數;
首先我們打個素數表;
然後利用ascll碼存入數組中,然後判斷就ok了
還有一點!!!這個題中 1 算素數!!!
wr無數次,還是讀題不仔細
#include<iostream>
#include<cstring>
#include<cmath>
#define MAXN 30
using namespace std;
char str[MAXN];
bool vis[];
int checkprime(int n) {
int m = sqrt(n+);
memset(vis, true, sizeof(vis));
vis[] = false;
for(int i = ; i <= m; i++) {
if(vis[i]) {
for(int j = i*i; j <= n; j+=i) {
vis[j] = false;
}
}
}
}
int main() {
checkprime();
while(~scanf("%s", str)) {
int sum = ;
int len = strlen(str);
for(int i = ; i < len; i++) {
if(isupper(str[i])) {//後來發現自己這個地方寫麻煩了, T-T
sum += str[i] - 'A' + ;
}else {
sum += str[i] - 'a' + ;
}
}
if(vis[sum]) puts("It is a prime word.");
else puts("It is not a prime word.");
}
return ;
}