1049. Counting Ones (30)

原创 2015年11月20日 14:48:17

1.和leetcode里面的Number of Digit One一样

2.算法说明:

如3141592,在m(digitDivide)=100时,即要求计算百位上“1”的个数

其中a为31415,b为92,31415中出现了3142次“1”,因为每10个数里面出现1次“1”。而实际上,31415是3141500,所以把31415中1的个数再乘以m。如3141400~3141499中,前缀为31414的数出现了100次,所以需要乘以m(此时是100)。


AC代码:

#include <iostream>
#include <stdio.h>
#include <vector>
#include <stack>
#include <algorithm>
#include <memory.h>
#include <map>
#include <set>
#include "limits.h"
using namespace std;


int main(void)
{
    long long n;
    cin>>n;
	long long ans = 0;
    for(long long digitDivide=1;digitDivide<=n;digitDivide*=10)
    {
		long long a = n / digitDivide;
		long long b = n%digitDivide;
        ans+=(a+8)/10*digitDivide+(a%10==1)*(b+1);
    }
    cout<<ans<<endl;
    
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

PAT A 1049. Counting Ones (30)

题目 The task is simple: given any positive integer N, you are supposed to count the total number of ...

【PAT (Advanced Level)】1049. Counting Ones (30)

1049. Counting Ones (30) 时间限制 10 ms 内存限制 32000 kB 代码长度限制 16000 B ...

1049. Counting Ones (30)

/** 给定一个数计算其以内1出现的次数设为k,那么k = 个位1出现的次数 + 十位1出现的次数 + 百位1出现的次数······ 那么:例如:123,如果要推断个位1出现的次数,它与高位和低位有...

PAT (Advanced Level) 1049. Counting Ones (30) 1到N中1出现的次数

The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

PAT.1049. Counting Ones (30)

原题地址:https://www.patest.cn/contests/pat-a-practise/1049 题目原文: Counting Ones (30) 时间限制 10 ms 内存...
  • Mloza
  • Mloza
  • 2016年08月18日 17:33
  • 112

PAT 1049 Counting Ones

The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...
  • cham3
  • cham3
  • 2013年08月05日 15:25
  • 427

PAT Counting Ones (30)

题目题目描述 The task is simple: given any positive integer N, you are supposed to count the total number ...

1004. Counting Leaves (30)

  • 2017年01月04日 15:57
  • 2KB
  • 下载

1004. Counting Leaves (30)-DFS

考查知识点:树的遍历思路:这个题重点在于要体会到用邻接表来存储树,刚开始构建树的时候考虑要怎么一层套一层啊,显然是对邻接表的理解不深刻,构建完树后遍历此树找到叶子节点即可,其中遍历方式可分为dfs和b...

PAT 1004. Counting Leaves (30)

1004. Counting Leaves (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1049. Counting Ones (30)
举报原因:
原因补充:

(最多只允许输入30个字)