62,615
社区成员
发帖
与我相关
我的任务
分享
int n = 2000000000;
int iCount = 0;
int iFactor = 1;
int iLowerNum = 0;
int iCurrNum = 0;
int iHigherNum = 0;
while (n / iFactor != 0) {
iLowerNum = n - (n / iFactor) * iFactor;
iCurrNum = (n / iFactor) % 10;
iHigherNum = n / (iFactor * 10);
switch (iCurrNum) {
case 0:
iCount += iHigherNum * iFactor;
case 1:
iCount += iHigherNum * iFactor + iLowerNum + 1;
break;
default:
iCount +=(iHigherNum+1)*iFactor;
break;
}
iFactor *=10;
}
System.out.println("count = " + iCount);
import java.io.BufferedReader;int total = 0;
for (int i = 1; i < 200000; i++) {
int n = i;
while (n > 0) {
if (n % 10 == 1)
total++;
n /= 10;
}
if (i == total)
System.out.println("i = " + i + ", total = " + total);
}