为了相同的前缀-测谎仪
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"); } }
相关文章推荐
- hdu1237 简单计算器
- 算法导论 9.1-1 求第二小元素
- 区分数组指针和指针数组
- screen space directional occlusion(SSDO) in Unity5
- Android开发之去掉title的三种方法
- 为了相同的前缀-心理阴影
- 构造特定五元组的HTTP报文,和trace route
- vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
- 深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器
- 为了相同的前缀-鸭梨山大
- jQuery-serialize()输出序列化form表单值的方法
- Linux线程池实现之改进
- Python基础(装饰器)
- iOS企业版分发关于plist和证书的那些事
- [TwistedFate]UITableView表视图编辑,移动
- Re的故事之Trile_S
- windows 下MySQL服务名无效
- 1011. A+B和C (15)
- git基本使用
- Java IO流分析整理