您的位置:首页 > 其它

为了相同的前缀-测谎仪

2015-11-23 19:13 267 查看

为了相同的前缀-测谎仪


Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

俗话说的好,国有国法,家有家规。比如RE大神的家规就挺严的。RE的媳妇为了看RE说的话是否撒谎,就自己写了个测谎仪程序,(由于事发突然,此处省略10个字),已知RE说的话是不带停顿的字符串(即不带空格。。),除了小写字母就是大写字母,如果小写字母的个数比大写字母的个数多而且多的差值数是一个素数,那么说明RE没撒谎,测谎仪会显示“YES!!!”,否则就说明RE撒谎了,测谎仪会显示“NO!!!”。若RE被发现撒谎,那就只能面临跪键盘的命运了。
FF提示:1不是素数。

输入

多组输入。每组输入是一行不带空格的字符串,且只由大写和小写字母组成。1<=字符串长度<=200.

输出

输出“YES!!!”or“NO!!!”。

示例输入

REhaoshuai
REisnvsheng


示例输出

NO!!!
YES!!!


提示

来源

ff

示例程序

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int i,j,n,m,k,t;
int b[46]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,56,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197};
char a[300];
while(scanf("%s",a)==1)
{
j=0;
m=0;
k=0;
n=strlen(a);
for(i=0;i<n;i++)
{
if(islower(a[i]))
j++;
if(isupper(a[i]))
m++;
}
for(i=0;i<46;i++)
{
if(b[i]==(j-m))
k=1;
}
if((j-m>0)&&k==1)
printf("YES!!!\n");
else
printf("NO!!!\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: