title: ‘算法训练-1的个数’date: 2020-03-11 21:26:27
tags: [蓝桥杯]
published: true
hideInList: false
feature:
isTop: false

  1. /*
  2. 试题 算法训练 1的个数
  3. 资源限制
  4. 时间限制:1.0s 内存限制:256.0MB
  5. 问题描述
  6.   输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。
  7. 输入格式
  8.   一个正整数n
  9. 输出格式
  10.   一个整数,表示1出现的资料
  11. 样例输入
  12. 15
  13. 样例输出
  14. 8
  15. 数据规模和约定
  16.   n不超过30000
  17. */
  18. #include <algorithm>
  19. #include <cstdio>
  20. #include <cstring>
  21. int cal(int n){
  22. int sum=0;
  23. while(n){
  24. if(n%10==1){
  25. sum++;
  26. }
  27. n/=10;
  28. }
  29. return sum;
  30. }
  31. int main() {
  32. int n;
  33. scanf("%d",&n);
  34. int sum=0;
  35. for(int i=1;i<=n;i++){
  36. sum+=cal(i);
  37. }
  38. printf("%d",sum);
  39. return 0;
  40. }

水题刷着好开心啊o( ̄▽ ̄)ブ