首页 > 其他 > 详细

整数1出现的次数

时间:2021-02-10 12:49:22      阅读:39      评论:0      收藏:0      [点我收藏+]

//归纳当前为cur为不同值时当前为1的个数的规律
public class 整数1出现的次数优解 {
    public static void main(String[] args) {
        int count = new 整数1出现的次数优解().NumberOf1Between1AndN_Solution(13);
        System.out.println(count);
    }

    public int NumberOf1Between1AndN_Solution(int n) {
        int count = 0;
        int digit = 1;
        int high = n /10;
        int cur = n % 10;
        int low = 0;
        while (cur!=0 || high!=0){
            if(cur == 0){
                count += high*digit;
            }else if(cur == 1){
                count += high*digit+low+1;
            }else {
                count +=(high+1)*digit;
            }
            low = low + cur * digit;
            cur = high % 10;
            high /= 10;
            digit *= 10;
        }
        return count;
    }
}

整数1出现的次数

原文:https://www.cnblogs.com/chyEric/p/14395404.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!