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 1049】 Counting Ones 数学规律

1049. Counting Ones (30) 时间限制 10 ms 内存限制 32000 kB 代码长度限制 16000 B ...
  • tiantangrenjian
  • tiantangrenjian
  • 2014年02月25日 13:18
  • 3017

1049. Counting Ones (30)

1049. Counting Ones (30) #include class CA { public: void run(); int n,num; }; void CA::run() { ...
  • gk2007310201668
  • gk2007310201668
  • 2013年11月15日 12:37
  • 601

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 ...
  • tuzigg123
  • tuzigg123
  • 2015年07月26日 19:23
  • 376

1049. Counting Ones (30)解题报告

#define _CRT_SECURE_NO_WARNINGS#include #include #include #include using namespace std;int main(...
  • chr1991
  • chr1991
  • 2016年10月29日 13:11
  • 89

1049. Counting Ones (30) (搜索)

1049. Counting Ones (30) 时间限制 10 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard ...
  • Lost_in_wine
  • Lost_in_wine
  • 2015年12月02日 21:15
  • 150

PAT 1049. Counting Ones (30)

1049. Counting Ones (30) 时间限制 10 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard ...
  • u010069101
  • u010069101
  • 2014年03月11日 10:27
  • 498

pat 1049. Counting Ones (30)

看别人的题解懂了一些些    参考《编程之美》P132 页《1 的数目》 #include #include using namespace std; int getone(int n) { in...
  • YYlxid
  • YYlxid
  • 2013年09月02日 23:33
  • 753

【PAT】1049. Counting Ones (30)

The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...
  • realxuejin
  • realxuejin
  • 2015年11月04日 20:28
  • 213

PAT_A 1049. Counting Ones (30)

1049. Counting Ones (30)对于整数N,计算1~N中1的个数,找规律
  • scylhy
  • scylhy
  • 2017年09月05日 22:14
  • 122

1049. Counting Ones (30)-PAT

1049. Counting Ones (30)http://pat.zju.edu.cn/contests/pat-a-practise/1049 时间限制 10 ms 内存限制 ...
  • zoushidexing
  • zoushidexing
  • 2013年06月30日 16:25
  • 978
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:1049. Counting Ones (30)
举报原因:
原因补充:

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