L1-017. 到底有多二-PAT团体程序设计天梯赛GPLT

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。
例如数字“-13142223336”是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11*1.5*2*100%,约为81.82%。本题就请你计算一个给定整数到底有多二。
输入格式:
输入第一行给出一个不超过50位的整数N。
输出格式:
在一行中输出N犯二的程度,保留小数点后两位。
输入样例:
-13142223336
输出样例:
81.82%
分析:注意计算ans的时候要先把cnt转换为double类型,否则两个int型相除会被自动转换为int型数值保存~

L1-016. 查验身份证-PAT团体程序设计天梯赛GPLT

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
输入格式:
输入第一行给出正整数N(<= 100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。
输出格式:
按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出“All passed”。
输入样例1:
4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X
输出样例1:
12010X198901011234
110108196711301866
37070419881216001X
输入样例2:
2
320124198808240056
110108196711301862
输出样例2:
All passed
分析:输入每个身份证号码的时候逐个判断是否满足条件,如果有满足条件的就flag = 1 最后如果flag依然是0就输出All passed~注意X和10的转换~

大学生医保的报销范围

除了五类费用不能报销外,其他的都属医保报销范围。

医保有关条例规定,以下产生的费用不能报销

  第一类是服务项目类:挂号费、院外会诊费、病历工本费等;出诊费、检查治疗加急费、点名手术附加费、点名手术附加费、优质优价费、自请特别护士等特需医疗服务。

  第二类是非疾病治疗项目类:各种美容、健美项目以及非功能性整容、矫型手术等;各种减肥、增胖、增高项目;各种健康体可偿还;各种预防、保健性的诊疗项目;各种医疗咨询、医疗鉴定。(疫苗是不能报销的尤其狂犬疫苗。。)

  第三类是诊疗设备及医有用材料类:应用正电子发射断层扫描装置(PET)、电子束CT、眼科准分子激光治疗仪等大型医疗设备进行的检查、治疗项目。眼镜、义齿、义眼、义肢、助听器等康复性器具。各种自用的保健、按摩、检查和治疗器械。各省物价部门规定不单独收费的一次性医用材料。

  第四类是治疗项目类:各类器官或组织移植的器官源或组织源;除肾脏、心脏瓣膜、角膜、皮肤、血管、骨、骨髓移植外的其他器官或组织移植;近视眼矫形术;气功疗法、音乐疗法、保健性的营养疗法、磁疗等辅助性治疗项目。

  第五类是其他类:各种不育(孕)症、性功能障碍的诊疗项目;各种科研性、临床验证性的诊疗项目。

  此外,基本医疗保险不予支付的费用还有:就(转)交通费、急救车费;空调费、电话费、电话费、婴儿保温箱费、食品保温箱费、电炉费、电冰箱费及损坏公物赔偿费险单号护费、护工费、洗理费、门诊煎药费;膳食费;文娱活动费及其他特需生活服务费用。患者就医发生上述各项目费用要自付。

L1-011. A-B-PAT团体程序设计天梯赛(GPLT)

本题要求你计算A-B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A-B。
输入格式:
输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。
输出格式:
在一行中打印出A-B的结果字符串。
输入样例:
I love GPLT! It’s a fun game!
aeiou
输出样例:
I lv GPLT! It’s fn gm!
分析:辣么多ASCII码也在0~255之间,所以用book数组标记所有的ASCII码~如果第二个字符出现了这个ACSII码那就标记为1~然后输出的时候当book数组对应的那个ASCII为1的时候就跳过不输出~

L1-010. 比较大小-PAT团体程序设计天梯赛

输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
分析:冒泡呀冒个泡~

L1-006. 连续因子-PAT团体程序设计天梯赛

一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。
输入格式:
输入在一行中给出一个正整数N(1<N<231)。
输出格式:
首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递增顺序输出,1不算在内。
输入样例:
630
输出样例:
3
5*6*7

[Update v2.0] 由github用户littlesevenmo提供的更高效的解法:
不用算连续因子最多不会超过12个,也不需要三重循环,两重循环即可,直接去计算当前部分乘积能不能整除N
分析:1、如果只有一个因子,那么这个数只能为1或者质数。因此我们主要去计算两个及以上因数的情况。
2、在有两个及以上的数连乘中,因数的最大上限为sqrt(N) + 1
3、因此思路就是,不断构造连乘,看连乘的积是否是N的因数,如果是,则看这部分连乘的数的个数是否比已记录的多。
4、用变量first记录连乘的第一个数字,这里我把它赋初值为0,如果在寻找N的因数过程中,first没有改变,那么就表明N是1或者是一个质数~