【编译原理练习题】由字母表求字符串个数
来源:互联网 发布:php memcache set参数 编辑:程序博客网 时间:2024/05/16 00:51
1. 字母表∑为 {a,b , c} ,请列出所有长度小于5 的字符串及个数。
2. 若字母表中字符个数为m(m>=1),具体字符通过输入确定,请列出长度小于n的字符串及个数。
每次都把a b c分别加在首位,即循环字母表
#include<cstdio>#include<iostream>#include<algorithm>#include<string>using namespace std;int main(){string s[1000];s[0]="a";s[1]="b";s[2]="c";int t=2,n=2,k=0;for(int h=1;h<4;h++){for(int i=0;i<3;i++){for(int j=k;j<=n;j++){s[++t]=s[i]+s[j];}}k=n+1;//记录本组开始位置 n=t;//记录本组结束时位置}for(int i=0;i<=t;i++) cout<<s[i]<<" "; cout<<endl; cout<<"字符串个数:"<<t+1<<endl;return 0;}#include<cstdio>#include<iostream>#include<algorithm>#include<string>using namespace std;string s[1000];int result(int m,int l){int t=2,n=2,k=0;for(int h=1;h<l-1;h++){for(int i=0;i<m;i++){for(int j=k;j<=n;j++){s[++t]=s[i]+s[j];}}k=n+1;//记录本组开始位置 n=t;//记录本组结束时位置}return t;} int main(){int m,l;cin>>m>>l;string ss;cin>>ss;//输入字符集 for(int i=0;i<m;i++)s[i]=ss[i];int num=result(m,l);for(int i=0;i<=num;i++) cout<<s[i]<<" "; cout<<endl; cout<<"字符串个数:"<<num+1<<endl;return 0;}
阅读全文
0 0
- 【编译原理练习题】由字母表求字符串个数
- 编译原理之求字符串和字符个数
- C语言练习题每练 1:字符串统计单词个数,单词由空格隔开
- java练习题---String类之求给定字符串中大小写字母的个数
- 字符串求子字符串个数
- uva 10617 Again Palindrome(dp,容斥原理,求字符串内回文子序列的个数)
- 【练习题】读取一个字符串,计算每个字母出现的个数
- 由求二进制数中1的个数想到的
- 微机原理中$求内存数据个数
- 求一个字符串中的单词个数
- [MSSQL]求字符串中汉字的个数
- 求字符串中单词的个数
- 求字符串的不同字符的个数
- 求一个字符串中大小写个数
- 输入一个字符串,求单词个数
- 求字符串中汉字的个数
- 求一个字符串中大写字母的个数
- 汇编求字符串中空格的个数
- Spring之BeanFactory 与 FactoryBean
- Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be
- 20171110
- hdu 1213
- 找最高分
- 【编译原理练习题】由字母表求字符串个数
- 调研NFV编排工具(by quqi99)
- Maven中pom.xml详解
- application.properties与application.yml之间的区别
- 硬盘的那些事(主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR等
- 浅谈 Mybatis 中的 ${ } 和 #{ }的区别
- 用函数编程计算两整数的最大值
- 序员改变世界,原来这些大佬都是程序员出身
- 从零开始学习c++之一