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 ...

1049. Counting Ones (30)

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

1049. Counting Ones (30)

The task is simple: given any positive integer N, you are supposed to count the&...

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

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

1049. Counting Ones (30)

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

1049. Counting Ones (30)

1. 原题: https://www.patest.cn/contests/pat-a-practise/1049 2. 思路: 题意: 输出从1~N之间的所有整数中含有1的总个数。 思路: 数学逻辑...

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
  • 91

1049. Counting Ones (30)

1049. Counting Ones (30) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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