问题链接:POJ NOI0105-40 数1的个数。


总时间限制:
1000ms
内存限制:
65536kB
描述

给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。

例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。

输入
正整数n。1 <= n <= 10000。
输出
一个正整数,即“1”的个数。
样例输入
12
样例输出
5
提示
来源
习题(8-11) 医学部 2010 期末试题 尤朝

问题分析

这是一个进制有关的计算问题。

取出各位数字是一种套路。

程序说明

把功能封装到函数中,是一种好的做法。

使用常量可以增强程序的可重用性。


参考链接:(略)。


AC的C++语言程序:

#include <iostream>using namespace std;const int BASE10 = 10;
const int DIGIT = 1;int countDigit(int n, int digit)
{int count;count = 0;while(n) {if(n % BASE10 == digit)count++;n /= BASE10;}return count;
}int main()
{int n, count;cin >> n;count = 0;for(int i=1; i<=n; i++)count += countDigit(i, DIGIT);cout << count << endl;return 0;
}

POJ NOI0105-40 数1的个数相关推荐

  1. 信息学奥赛一本通 1095:数1的个数 | OpenJudge NOI 1.5 40

    [题目链接] ybt 1095:数1的个数 OpenJudge NOI 1.5 40:数1的个数 [题目考点] 1. 分离整数的各位数字 对于数字a,a%10可以取到其个位,a/=10(整除)可以去掉 ...

  2. LeetCode:面试题40. 最小的k个数

    40. 最小的k个数 题目: 解题思路: 源码: 题目: 解题思路: 1.快速排序: 2.堆排序: 详细解释看leetcode的官网 源码: int comp(void *a,void *b){int ...

  3. 【LeetCode】剑指 Offer 40. 最小的k个数

    [LeetCode]剑指 Offer 40. 最小的k个数 文章目录 [LeetCode]剑指 Offer 40. 最小的k个数 一.笨比解法 二.堆排序 三.快速选择 总结 一.笨比解法 选择排序变 ...

  4. sum_series() 求一列数的指定个数的数和(5个数字的和)

    1 #include <stdio.h> 2 #include <stdarg.h> 3 /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ 4 do ...

  5. (C++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。

    #include<cstdio> //输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.要求用3个函数实现,分别为输入10个数.进行处理.输出10个数.要求使用指针 ...

  6. 用户输入一个数字,找到所有能够除尽它的数的总个数

    想不到我这个小学生也会做 <!DOCTYPE html> <html lang="en"> <head>  <meta charset=& ...

  7. ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。

    题目描述 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换. 写三个函数: ①输入10个数:②进行处理:③输出10个数. 输入 10个整数 输出 整理后的十个数,每个数后跟 ...

  8. matlab极大值点个数,求一组数的极大值个数

    已知一组数,如下所示,目标是求每行数的极大值个数,Matlab中有固有的函数求极大值个数吗?求各位大虾指点指点! 36 137 135 114 131 159 224 252 332 509 737 ...

  9. cogs 610. 数对的个数

    610. 数对的个数 ★★   输入文件:dec.in   输出文件:dec.out   简单对比 时间限制:1 s   内存限制:128 MB Description 出题是一件痛苦的事情! 题目看 ...

最新文章

  1. Douglas-Peucker算法
  2. 两路虚拟化服务器,服务器虚拟化(二)
  3. 华硕服务器主板z8na-d6开关位置,华硕双路服务器主板Z8NA-D6
  4. 阿帕奇搭建文件服务器,关于LINUX文件服务器简单搭建---NFS与APACHE服务
  5. lenos快速开发脚手架
  6. Mysql 定时备份操作
  7. 银行转账和分布式事务(转)
  8. html中vid中的id,VID/DID/SVID/SSID
  9. LiveZilla 详细 配置 设置 (二) 安装 LiveZilla
  10. 随手写的一个小程序,将gz压缩文件读取到内存中 并用base64编码 及相关解码
  11. thinkPHP中{$Think }用法
  12. 优秀Android程序员必知必会的网络基础,Android开发面试题及答案
  13. blender 制作城市建筑模型
  14. 第8章 中医证型关联规则挖掘
  15. 助你编程能力「突飞猛进」的干货分享
  16. Usage of Pseudocode
  17. Android视频编辑SDK免费版,Android视频编辑SDK
  18. 2021404209陈聪blog
  19. 汽车后市场O2O的掘金点在供应链金融
  20. 一个人最顶级的才华,是会填坑

热门文章

  1. 浅谈 OpenResty
  2. Google FlatBuffers——开源、跨平台的新一代序列化工具
  3. 使用NUnit进行DotNet程序测试
  4. JavaScript事件触发列表与解说
  5. linux终端 美化 git,linux终端美化oh-my-zsh
  6. qqbot python_Python3.6 QQBot 机器人 - 注册响应函数
  7. todolist实现删除的功能_使用vue实现删除并输入原因的功能
  8. html弹幕效果加入视频,JS实现的视频弹幕效果示例
  9. 一、Nginx源码安装与yum安装
  10. python制作文本进度条