面试OR笔试16——1的个数

xiaoxiao2021-02-28  6

题目及要求

1.1 题目描述

求从1到正整数n这n整数的十进制表示中1出现的次数。例如输入12, 从1到12包含1的数字有1,10,11,12共出现了5次。

 

2 解答

2.1 代码

int numberOf1(int n){ if(n<1) return 0; int basen(1),base(10),num(0); while(!(n<base)){ // 求位数和对应的基数值 base*=10; ++basen; } base /= 10; // 先求n/base+1到n的1的个数 num = 1<n/base ? base:1+n
转载请注明原文地址: https://www.6miu.com/read-1150276.html

最新回复(0)