字母

理解文法和语文

﹥>﹥吖頭↗ 提交于 2019-11-29 10:24:53
1)理解符号串与集合运算。    LUD : 全部字母数字集合    LD : 一个字母后跟一个数字组成的所以符号串集合    L4 : 4个字母组成的所以符号串集合    L* : 字母组成的所以符号串集合,包括∑    D+ : 一个或者若干个数字组成的所以符号串集合    L(LUD)* : 字母开头后跟字母、数字组成的所以符号串集合 2)文法G(Z):Z->aZb|ab定义的是什么样的语言?   Z->ab   Z->aZb ->aabb   Z ->aZb ->aaZbb ->aaabbb 3)写出教材22页例2.2中标识符的文法四元组形式(VN,NT,P,S)。      I -> L | IL | ID   L -> a | b |......| y | z | A | B |......| Y | Z |   D -> 0 | 1 | 2 |......| 9 4)写出下列表达式的最左推导、最右推导。 G(E): E=> E + T | T T=>T * F | F F=>(E)| i i*i+i i+i*i i+(i+i) 注意观察最左和最右推导过程的不同。   i*i+i:    最左推导:     E=>E+T=>T+T=>T*F+T=>F*F+T=>i*F+T=>i*i+T=>i*i+F=>i*i+i   最右推导:     E=>E+T=>E+F=>E+i

第二次作业

℡╲_俬逩灬. 提交于 2019-11-29 10:20:39
1.   LUD :全部字母与数字的集合   LD :一个字母后跟一个数字组成的所有符号串的集合   L4 :4个字母组成的所有符号串的集合   L* :字母组成的搜易符号串的集合   L(LUD)* :以字母开头,后跟字母、数字组成的所有符号串的集合。   D+  :一个或若干数字组成的所有符号串的集合。 2.   产生式有:Z->aZb, Z->ab   因此有:Z=>ab, Z=>aZb=>a²b²   重复使用产生式Z->aZb,得 Z=>aZb=>a²Zb²...=>aⁿ﹣¹Zbⁿ﹣¹=>aⁿbⁿ   所以,文法所确定的语言为L(G[Z])={aⁿbⁿ|n≥1} 3.    有文法G=(Vn,V t ,P,S)   Vn ={L(标识符),D(字母),H(数字)},V t ={a,b,c,d,.........,y,z,0,1,2,.......,9}      P={   <L>-><D>     <L>-><L><D>     <L>-><L><H>     <D>->a     <D>->b     <D>->c     ……     <D>->z     <H>->1     <H>->2     <H>->3     ……     <H>->9   }   S=<L> 4. 最左推导:   E -> E + T    -> T + T    -> F + T  

unity学写字母小游戏

 ̄綄美尐妖づ 提交于 2019-11-29 10:16:51
一、效果图 二、主要实现方法 1、polygoncollider2d 给图形做不规则的碰撞,检测碰撞滑动笔画 2、绿色图片覆盖,依据ugui中Image ImageType->Filled,有线条有圆,改变value值。 Demo 来源: https://www.cnblogs.com/ltxhg/p/11514489.html

java介绍

吃可爱长大的小学妹 提交于 2019-11-29 04:49:59
java是纯面向对象的编程语言.面向对象的3大特点:封装,继承,多态. java命名规则: 名称只能由字母、数字、下划线、$符号组成,不能数字开头, 不能使用关键字 . 1.包(Packages):全部小写字母组成. 2.类(class):每个单词首字符大写. 3.函数:第一个单词首字母小写,后面单词首字母大写. 4.变量: 第一个单词首字母小写,后面单词首字母大写. 5.常量:全部大写. 6.接口第一个字母,应该是I开头. java关键字: 1.abstract:修饰的类是抽象类和修饰方法是抽象方法.抽象类不能实例化,类里面可以不是抽象方法,抽象方法必须在子类实现(子类是抽象类例外)。 接口一种特殊的抽象类,接口必须全部是抽象方法 ,里面所有方法都是抽象方法,并且默认public abstract修饰. 2.super:表示父类对象的引用. 3.final:修饰类则类不能被继承,修饰方法则方法不能被重写,修饰变量则表示常量. 4.break:跳出语句块. 5.return:跳出函数. 6.static:修饰方法为静态方法. 7..... 来源: https://www.cnblogs.com/PrideAssassin/p/11429571.html

HDU-6021 MG loves string

江枫思渺然 提交于 2019-11-29 01:44:20
题目描述 给定 \(26\) 个小写字母 \(x1,x2,...,x26\) 的字符串作为“密码表”, \(26\) 个密码分别对应 \(a-z,26\) 个小写字母,一个字母进行一次变换, 意味着该字母变换成对应的密码,譬如字母 \(b\) 下一次变换应该变成 \(x2\) , (可以知道,经过有限次的变换,每个字母最终还是会变换回来的)。 求长度为 \(n\) 的任意字符串的变换成自身的期望次数。 Input 第一行读入一个 \(T(T<=10)\) 表示数据的组数 然后一个 \(n\) ,表示字符串长度 \((n<=1000000000)\) 然后是一个密码表 Output 输出答案为期望乘上 \(26^n\) 并模上 \(1e9+7\) 的结果 Sample Input 2 2 abcdefghijklmnpqrstuvwxyzo 1 abcdefghijklmnopqrstuvwxyz Sample Output 5956 26 容斥好题!!! 我们发现实际上题目要我们求的答案就是每个串变为自身的次数之和。 对于每个字母我们都可以求出他们变化为自身的次数 \(A_i\) 。 对于一个字符串,它变为自身的次数实际上就是该字符串中所有 \(A_i\) 的 \(lcm\) 。 如果暴力搜索的话,我们会是搜索每个字母是否在该字符串中出现,最后统计方案数。 这样的话,时间复杂度为

洛谷 U85684 读单词

做~自己de王妃 提交于 2019-11-28 22:32:07
洛谷 U85684 读单词 洛谷传送门 题目背景 由于一些特殊心理的影响,SeawaySeaway主动请缨担任了英语课代表,主要负责班级的课前单词领读工作。 题目描述 SeawaySeaway在领读单词的时候有一个癖好:因为SeawaySeaway是一个极迷信的人,他固执地认为,如果一个单词中出现次数最多的字母出现的次数为质数,但出现次数最少的字母出现的次数不为质数,或者出现次数最少的字母出现的次数为质数,但出现次数最多的字母出现的次数不为质数,那么这个词就是个“好词”,一定要读!如果一个单词中出现次数最多和最少的字母出现的次数都为质数,那么这个词就是个“坏词”,一定不能读!如果一个单词中出现次数最多和最少的字母出现的次数都不为质数,那么这个词就是个“中性词”,读不读看SeawaySeaway心情好坏。但是领读要快速,留给SeawaySeaway判断这个词到底是“好词”、“坏词”还是“中性词”的时间太短了,所以他需要你编写一个程序,帮他确定一个词到底应不应该读。 输入格式 输入文件的第一行包含一串长度为NN的字符,表示SeawaySeaway要读的单词。 输出格式 输出文件只有一行。如果这个单词应该读,就输出“Read it!”,如果不应该读就输出“Shut up!”,如果是“中性词”,就输出“Remember her!”。 输入输出样例 输入 #1 复制 seaway 输出 #1

数组对象按照名字首字母进行排序

折月煮酒 提交于 2019-11-28 22:21:55
需要使用pinyin.js得到每个名字的首字母 var needData=[]this.gradeTableData.forEach((item,index)=>{ if (this.classValue===item.class||item.class===''){ needData.push( Object.assign({},item, {'py':pinyin(item.name,{style:pinyin.STYLE_NORMAL})[0][0][0].toUpperCase()}) ) }}) //给集合排序needData.sort((a,b)=>{ return a.py.charCodeAt(0) - b.py.charCodeAt(0);}) //给首字母弄一个集合先var myLetters =[]needData.forEach((item,index)=>{ myLetters[item.py]=[]})// 给首字母集合添加元素needData.forEach((item,index)=>{ myLetters[item.py].push(item)})console.log('myLetters`````````````');console.log(myLetters);// 这里为最终需要数据// 将myLetters的数据整成自己所需对象var

C语言I博客作业10

流过昼夜 提交于 2019-11-28 21:34:09
这个作业属于哪个课程 C语言程序设计 这个作业要求在哪里 C语言I作业10:第十四周作业 我在这个课程的目标是 学会使用C语言 这个作业在哪个具体方面帮助我实现目标 很难的pta可以锻炼我的解题能力 参考文献 C语言程序设计(第三版);百度 1.PTA实验作业 1.1 编程打印空心字符菱形 本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。 输入格式: 输入在一行中给出起始字母(范围为英文大写字母A-G)和菱形的高度(为不超过10的奇数)。 输出格式: 输出空心字符菱形。 输入样例: B 5 输出样例: 1.1.1数据处理 数据表达: 定义了五个整型变量和一个字符型变量,其中i、j是控制循环变量,high是指菱形的高度,half是指一半菱形的高度。 数据结构: 结构式:一共用了六个for循环和两个if语句,其中分为两个for循环里分别嵌套两个for循环和一个if语句。 伪代码: 开始 ; 定义变量:控制循环变量i、j,菱形的高度high,半个菱形的高度half,字符型op; 接收字符和菱形的高度; 把(high+1)/2赋值→half; for循环{ for循环输出空格; 输出字符 判断i==0

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”会变为“a2b1c5a3”。若“压缩”后的字符串没有变短,则返回原先的字符串。

僤鯓⒐⒋嵵緔 提交于 2019-11-28 18:43:42
package com.borui; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner input= new Scanner(System.in); System.out.println(“请输入一串字母”); String str = input.nextLine(); compress(str); } public static String compress(String str) { char str1 = str.charAt(0); StringBuffer mystr = new StringBuffer(); mystr.append(str1);//把第一个字母放入动态字符串中 int sum = 1;//创建一个计数器 for (int i = 1; i < str.length(); i++) { if (str1 == str.charAt(i)) {//如果前一个字母和后一个字母相等计数器加1 sum++; if(i==str.length()-1){//判断如果是最后一个字母 把计数器结果加入动态字符串 mystr.append(sum); } } else { if (sum > 1) { mystr.append