【1049】Counting Ones (30 分)

简介: 【1049】Counting Ones (30 分)【1049】Counting Ones (30 分)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
#include<algorithm>  
#include<map>
#include<vector>
#include<queue> 
using namespace std;  
//找到1~n的all数里含1的1的个数,对逐位分三种情况
//代码虽短,但要举例静心找规律
int main(){   
  int n,a=1,ans=0;
  int left,now,right;
  scanf("%d",&n);
  while(n/a != 0){
    left=n/(a*10);
    now=n/a%10;
    right=n%a;
    if(now == 0) ans +=left*a;
    else if(now==1)  ans += left*a+right+1;
    else ans += (left+1)*a;
    a*=10;
  }
  printf("%d\n",ans);
  system("pause");
    return 0;   
}
相关文章
|
存储 搜索推荐 算法
计数排序(Counting Sort)详解
计数排序(Counting Sort)是一种非比较排序算法,其核心思想是通过计数每个元素的出现次数来进行排序,适用于整数或有限范围内的非负整数排序。这个算法的特点是速度快且稳定,适用于某些特定场景。在本文中,我们将深入探讨计数排序的原理、步骤以及性能分析。
277 1
计数排序(Counting Sort)详解
|
存储 搜索推荐
十大排序之Counting Sort 计数排序
十大排序之Counting Sort 计数排序
|
机器学习/深度学习 存储 C++
【PAT甲级 - C++题解】1004 Counting Leaves
【PAT甲级 - C++题解】1004 Counting Leaves
74 0
LeetCode 1103. 分糖果 II Distribute Candies to People
LeetCode 1103. 分糖果 II Distribute Candies to People
|
C++
【CCCC】L3-002 特殊堆栈 (30分),nlogn维护序列中位数,STL大乱斗,有重multiset,vector+二分插入
【CCCC】L3-002 特殊堆栈 (30分),nlogn维护序列中位数,STL大乱斗,有重multiset,vector+二分插入
136 0
PAT甲级 1004. Counting Leaves(30分)
PAT甲级 1004. Counting Leaves(30分)
69 0
|
Python
UPC组队赛第四场—— H: Boring Counting (主席树+二分)
UPC组队赛第四场—— H: Boring Counting (主席树+二分)
68 0
【1004】Counting Leaves (30 分)
【1004】Counting Leaves (30 分) 【1004】Counting Leaves (30 分)
97 0
【1028】List Sorting (25 分)
【1028】List Sorting (25 分) 【1028】List Sorting (25 分)
100 0