蓝桥杯 中奖计算
2016-01-18 18:17
155 查看
中奖计算
某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。
例如:小张写的数字是:12345678,而开奖号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。
下面的代码根据传入的参数,返回中了几个号。其中:a表示被评价的号码,b表示摇号产生的数字。请填写缺少的代码。
某抽奖活动的规则是:每位参与者在纸上写下一个8位数的号码。最后通过摇奖的办法随机产生一个8位数字。参与者写下的数字中最多有多少个连续位与开奖号码中的相同,则称为中了几个号。
例如:小张写的数字是:12345678,而开奖号码是:42347856。则称小张中了3个号,因为其中最长的相同连续位是:“234”。如果小张写的是:87654321,则他只中了一个号。
下面的代码根据传入的参数,返回中了几个号。其中:a表示被评价的号码,b表示摇号产生的数字。请填写缺少的代码。
int g(int a, int b) { char sa[]="00000000"; char sb[]="00000000"; int n = 0; int i,j; sprintf(sa,"%8d",a); sprintf(sb,"%8d",b); for(i=0; i<8; i++)//i起始位置 j选取长度 n记录最大长度 { for(j=1; j<=8-i; j++) { char t = sa[i+j]; sa[i+j] = 0; if(strstr(sb, sa+i)) { if(j>n) n = j; } sa[i+j] = t; } } return n; }
相关文章推荐
- 5、ActiveMQ入门教程(五)--Spring和ActiveMQ整合
- 织梦cmsdede程序去掉/a/
- iOS 通过 JSPatch 实时修复线上 bug!
- XML文件解析之DOM解析
- 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善
- JavaSE入门学习2:Java开发准备基础
- git使用
- ios 弹出键盘 视图向上平移
- 数据库性能优化之SQL语句优化
- mysql关于排除表中重复数据
- Oracle SQLplus 上如何查看procedure的内容
- ios9 http请求不能使用
- crond不执行原因分析
- UI控件ViewPager浅析
- mysql数据库——源码安装
- Quartz 2D & CoreAnimation
- Windows下MySQL5.7.10免安装配置
- Learning rtmpdump Through Examples
- W3School-CSS 分类 (Classification) 实例
- 2016-01-18 FFC