计算1到N之间的数字中,1的个数

    技术2022-05-18  32

    #include<stdio.h> int main() { int iFactor = 1, iLowerNum, iCurNum, iHighNum; int n; scanf("%d",&n); int res = 0; while(n / iFactor) { iLowerNum = n - (n / iFactor) * iFactor; iHighNum = (n / 10 ) / iFactor; iCurNum = (n / iFactor) % 10; switch(iCurNum) { case 0: res += iHighNum * iFactor; break; case 1: res += iHighNum * iFactor + iLowerNum + 1; break; default: res += (iHighNum + 1) * iFactor; } iFactor *= 10; } printf("%d/n",res); return 0; } 


    最新回复(0)