某天ly正在707学习,突然听到楼下yyt在大声的叫:"sgly(以下再重复三句)",聪明的ly稍加思索便意识到了这是在叫他,但是ly却很生气,并且删除了
yyt的好友。
对此xiayufengchen感到非常不解,但是他也不敢多问。随后ly说出了自己生气的原因:“他叫了四次sgly,他是在骂我傻瓜ly!!”
,听到这里,xiayufengchen明白过来了,
原来ly是个”素数迷“,痴迷于所有的素数,就连别人叫他名字的次数也一定要是素数,这样ly就会认为这是在夸他。”
?谁听到自己被骂傻瓜会开心呢?“。
想到这里,xiayufengchen也生气的删掉了yyt的好友,但是一年一度的招新时间到了,找sgly的人多了起来,xiayufengchen想要快速的判断出,别人叫sgly的次
数是不是素数,你能帮他吗?
输入格式
输入包含一个整数n表示某个人大声喊出的字数 下一行包含一个含有n个字符的字符串,表示某人大声喊出的话
输出格式
如果叫sgly的次数为素数的话,会使ly感到开心,请输出”happy“(不加双引号) 如果叫sgly的次数不是素数的话,会使ly感到生气,请输出”angry“(不加双引号)
样例
样例输入
12
sglyabcdsgly
样例输出
happy
数据范围与提示
4<=N<=1000;(保证n一定是4的倍数) 某人喊出的话不一定只有sgly,可能会是这样:”sglyabcdsgly“。
以下是我写的答案:
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
char a[1005];
int main() {
int n,count=0,flag;
scanf("%d",&n);
for(int i=0; i<n+1; i++) {
scanf("%c",&a[i]);
}
for(int i=0; i<n+1; i++) {
if(a[i]=='s'&&a[i+1]=='g'&&a[i+2]=='l'&&a[i+3]=='y') {
count++;
}
}
if(count==0||count==1) {
flag=0;
} else if(count==2) {
flag=1;
} else {
for(int i=2; i<count; i++) {
if(count%i==0) {
flag=0;
break;
} else {
flag=1;
}
}
}
if(flag==1) {
printf("happy\n");
} else if(flag==0) {
printf("angry\n");
}
return 0;
}