标签:
#ifndef NUMBER_OFONEINDATA_H#define NUMBER_OFONEINDATA_H#include<iostream>unsigned int numberOfOneInData(unsigned int v_data){ if(v_data<=0){ return 0; } unsigned int oneCount=0; unsigned int iFactor=1; unsigned int icurrentUnitNum=0; unsigned int iLowerNum=0; unsigned int iHigherNum=0; while(v_data/iFactor!=0){ iLowerNum=v_data-(v_data/iFactor)*iFactor; icurrentUnitNum=(v_data/iFactor)%10; iHigherNum=v_data/(iFactor*10); switch (icurrentUnitNum) { case 0: oneCount+=iHigherNum*iFactor; break; case 1: oneCount+=iHigherNum*iFactor+iLowerNum+1; break; default: oneCount+=(iHigherNum+1)*iFactor; break; } iFactor=iFactor*10; } return oneCount; }#endif
#ifndef NUMBER_OFONEINDATA_H
#define NUMBER_OFONEINDATA_H
#include<iostream>
unsigned int numberOfOneInData(unsigned int v_data){
if(v_data<=0){
return 0;
}
unsigned int oneCount=0;
unsigned int iFactor=1;
unsigned int icurrentUnitNum=0;
unsigned int iLowerNum=0;
unsigned int iHigherNum=0;
while(v_data/iFactor!=0){
iLowerNum=v_data-(v_data/iFactor)*iFactor;
icurrentUnitNum=(v_data/iFactor)%10;
iHigherNum=v_data/(iFactor*10);
switch (icurrentUnitNum)
{
case 0:
oneCount+=iHigherNum*iFactor;
break;
case 1:
oneCount+=iHigherNum*iFactor+iLowerNum+1;
default:
oneCount+=(iHigherNum+1)*iFactor;
iFactor=iFactor*10;
return oneCount;
#endif
1到N中1出现的次数
原文地址:http://www.cnblogs.com/yml435/p/4655474.html