首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

算法提高 身份证号码升级

问题描述   从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为:   1、把15位身份证号码中的年份由2位(7,8位)改为四位。   2、最后添加一位验证码。验证码的计算方案:   将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 x 9 8 7 6 5 4 3 2。   请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码。假设所有要升级的身份证的四位年份都是19××年 输入格式   一个15位的数字串,作为身份证号码 输出格式   一个18位的字符串,作为升级后的身份证号码 样例输入 110105491231002 样例输出 11010519491231002x 数据规模和约定   不用判断输入的15位字符串是否合理

00

Android开发笔记(四)字符串格式化

博主原来是搞C的,C里面有sprintf来格式化字符串,后来转到java变傻了,拼接String只会用n个“+”,要么就是用StringBuilder的append方法,但要是遇上把数字格式化的情况(比如左补0等等),就只能傻乎乎的if else判断该补几个0。 后来终于有一天,博主发现原来java也有格式化的函数(jdk1.5就提供了),就是String.format(String format, Object... args),用法跟C差不多,只是转换符有些区别。这下可算是从苦逼的if else中解脱出来了,下面就记录几个常用的格式转换符: %s   : 字符串,如"hello" %c   : 字符,如'a' %b   : 布尔类型,如true或者false %d   : 十进制整型数,如119 %x   : 十六进制整型数,如f0 %f   : 十进制浮点数,java在这里不像c有%f/%lf/%ld等区分浮点与双精度,java的float类型和double类型都用%f %0nd : n是十进制整数,表示这里占着n位数字,位数如不足n则左补0

07

花朵数

一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如:当 N=3时,153就满足条件,因为1^3+5^3+3^3=153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3表示5的3次方,也就是立方)。 当N=4时,1634满足条件,因为1^4+6^4+3^4+4^4=1634。 当N=5时,92727满足条件。 实际上,对N的每个取值,可能有多个数字满足条件。 程序的任务是:求N=21时,所有满足条件的花朵数。注意:这个整数有21位,它的各个位数字的21次方之和正好等于这个数本身。 如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占一行。因为这个数字很大,请注意解法时间上的可行性。要求程序在1分钟内运行完毕。

02
领券