/**
* Created by wangliang on 16-12-1.
*/
public class Demo {
public static void main(String[] args) {
long start = System.currentTimeMillis();
System.out.println("1一共出现 " + get1Count(2002) + "次");
System.out.println("time:" + (System.currentTimeMillis() - start));
}
// 1 + 11 + ... + 111...111(num个1)
private static int get1Count(int num) {
long ret = 0;
int c = 0;
String strRet;
for (int i = 1; i <= num; i++) {
ret += getNum(i, c);
if (ret >= 123456790) {
strRet = String.valueOf(ret);
if (strRet.contains("123456790")) {
strRet = strRet.replace("123456790", "");
ret = Long.parseLong(strRet);
c++;
}
}
System.out.println("ret:" + ret + ", c:" + c + ", i: " + i);
}
char[] arr = String.valueOf(ret).toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == '1') {
c++;
}
}
return c;
}
private static long getNum(int num, int c) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < num - c * 9; i++) {
builder.append("1");
}
return Long.parseLong(builder.toString());
}
}
1+11+111 + ... + 111...111(一共2002个1) 结果中1出现了多少次(程序实现)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...