题目描述
小P最近在研究字符编码,给出一串由0、1组成的字符串,从中任意进行截取,如果截取的字符串对应一个英文字母的ASCII值,小P就把这个0、1串叫字母子串,问给定的字符串最多能截取出多少个字母子串。
输入
测试数据有多组,每组一行由0、1组成的字符串,每行长度不超过10000。
输出
对于每组输入,在一行中输出最多可以截取的字母子串的数量。
样例输入 Copy
1011010111
样例输出 Copy
1
提示
每个字母的ASCII码对应的二进制数都是7位, 1011010 的值是90,对应的是大写字母‘Z’的ASCII码,剩下的是111不对应任何字母,所示只能截取出一个字母子串。

错误代码:‘

#include<iostream>
#include<cmath>
using namespace std;
string str;
int main()
{
int j,i,len,num,sum=;
string arr;
cin>>str;
str=' '+str;
len=str.length();
for(i=;i<=len-;i++){
arr.clear();
num=;
arr=str.substr(i,);
// cout<<"arr="<<arr<<endl;
for(j=;j<arr.length();j++)
if(arr[j]-'')
num+=pow(,-j); if(num>=&&num<=) {
i+=;
sum++;
cout<<"arr="<<arr<<endl;
//}
}
}
cout<<sum;
}

思路特么的正确,错在a---z  65--90   A----Z    97---122

#include<iostream>
#include<cmath>
using namespace std;
string str;
int main()
{
int j,i,len,num,sum=;
string arr;
while(cin>>str){
str=' '+str;
len=str.length();
sum=;
for(i=;i<=len-;i++){
arr.clear();
num=;
arr=str.substr(i,);
// cout<<"arr="<<arr<<endl;
for(j=;j<arr.length();j++)
if(arr[j]-'')
num+=pow(,-j); if(num>=&&num<=||num>=&&num<=) {
i+=;
sum++;
// cout<<"arr="<<arr<<endl;
//}
}
}
cout<<sum<<endl;
}
}

小P的字符串的更多相关文章

  1. 小b重排字符串

    2485 小b重排字符串 2 秒 262,144 KB 5 分 1 级题   小b有一个字符串S,现在她希望重排列S,使得S中相邻字符不同. 请你判断小b是否可能成功. 样例解释:将"aab ...

  2. 5.15 牛客挑战赛40 C 小V和字符串 数位dp 计数问题

    LINK:小V和字符串 容易想到只有1个数相同的 才能有贡献. 知道两个01串 那么容易得到最小步数 大体上就是 第一个串的最前的1和第二个串最前的1进行匹配. 容易想到设f[i][j]表示 前i位1 ...

  3. 小程序json字符串转为对象

    小程序里json字符串转为对象使用JSON.parse()方法转变无效, 看报错提示有单引号“ ' ” 因为单引号而无效, 将单引号全改双引号即可. 报错如下: VM11050:1 thirdScri ...

  4. 51nod 2485 小b重排字符串

    小b有一个字符串S,现在她希望重排列S,使得S中相邻字符不同. 请你判断小b是否可能成功. 样例解释:将"aab"重排为"aba"即可. 收起   输入 输入一 ...

  5. 微信小程序截取字符串

    我这里用的 str.substring(star,end)第一个参数代表开始位置,第二个参数代表结束位置的下一个位置;若参数值为负数,则将该值转为0;两个参数中,取较小值作为开始位置,截取出来的字符串 ...

  6. Java开发中经典的小实例-(字符串倒序输出)

    public class Test12 {    public static void main(String[] args) {        // TODO Auto-generated meth ...

  7. Java开发中经典的小实例-(字符串比较)

    //输入字符串然后与自己定义的数组进行对比,并输出重复次数. public class Test11 {    public static void main(String[] args) {     ...

  8. 工作小总结(字符串包含,获取当前页面的url等系列问题)

    1.字符串包含: var str="我爱中国";if(str.indexOf("中国")>=0){ alert("含有此字符串");} ...

  9. Python小代码_7_字符串的字符次数统计

    生成包含 1000 个随机字符的字符串,并统计每个字符出现的次数. import string import random #获取字符 x = string.ascii_letters + strin ...

随机推荐

  1. linux 环境变量设置

    sudo gedit ~/.bashrc source ~/.bashrc

  2. sql server 通用修改表数据存储过程

    ALTER PROC [dbo].[UpdateTableData] ), ), ), ), ) AS BEGIN ) SET @sql ='UPDATE '+@TableName; --获取SqlS ...

  3. Elasticsearch深入搜索之全文搜索及JavaAPI使用

    一.基于词项与基于全文 所有查询会或多或少的执行相关度计算,但不是所有查询都有分析阶段. 和一些特殊的完全不会对文本进行操作的查询(如 bool 或 function_score )不同,文本查询可以 ...

  4. 【RHEL7.0】软件包管理

    1.常用的RPM软件包命令 安装软件的命令格式  rpm –ivh filename.rpm 升级软件的命令格式  rpm –Uvh filename.rpm 卸载软件的命令格式  rpm –e fi ...

  5. 制作U盘启动-----计算机经验

    这期呢我就先不打算写关于C的文章,这次就先给大家写几篇关于电脑系统安装的计算机经验篇.希望各位接下来看了我几期的经验文章,你们也能在电脑系统报销之时能够让其满血复活. 制作U盘启动 下载制作U盘启动的 ...

  6. php判断手机是安卓系统还是ios系统

    最近项目,要判断用户的手机是安卓的还是ios的,搜了一下相关的资料,最终获得的结果.事实证明,是有效的!主要是要用到HTTP_USER_AGENT,它表示的意思是用来检查浏览页面的访问者在用什么操作系 ...

  7. 解决git push时发现有超过100M的文件时,删除文件后,发现还是提交不上去的问题

    我这里故意放了一个超过100M的文件 后续,git add ,git commit 然后,git push 此时会发现出现了错误.如果,我们再这里直接在文件系统中删除这个大的文件,然后再次提交,会发现 ...

  8. NGINX Load Balancing – TCP and UDP Load Balancer

    This chapter describes how to use NGINX Plus and open source NGINX to proxy and load balance TCP and ...

  9. 解决y7000笔记本ubuntu18.04下 休眠挂起后唤醒花屏

    定位问题,切换到核显后发现一点问题也没有,基本确定是显卡驱动的问题 但是由于配置环境比较复杂,不想重新装N卡驱动,所以另寻方法 sudo gedit /etc/default/grub 修改前 # I ...

  10. ActiveMQ后台使用

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/nangeali/article/details/81514517默认地址 http://192.16 ...