POJ NOI0105-40 数1的个数
问题链接: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的个数相关推荐
- 信息学奥赛一本通 1095:数1的个数 | OpenJudge NOI 1.5 40
[题目链接] ybt 1095:数1的个数 OpenJudge NOI 1.5 40:数1的个数 [题目考点] 1. 分离整数的各位数字 对于数字a,a%10可以取到其个位,a/=10(整除)可以去掉 ...
- LeetCode:面试题40. 最小的k个数
40. 最小的k个数 题目: 解题思路: 源码: 题目: 解题思路: 1.快速排序: 2.堆排序: 详细解释看leetcode的官网 源码: int comp(void *a,void *b){int ...
- 【LeetCode】剑指 Offer 40. 最小的k个数
[LeetCode]剑指 Offer 40. 最小的k个数 文章目录 [LeetCode]剑指 Offer 40. 最小的k个数 一.笨比解法 二.堆排序 三.快速选择 总结 一.笨比解法 选择排序变 ...
- sum_series() 求一列数的指定个数的数和(5个数字的和)
1 #include <stdio.h> 2 #include <stdarg.h> 3 /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ 4 do ...
- (C++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。
#include<cstdio> //输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.要求用3个函数实现,分别为输入10个数.进行处理.输出10个数.要求使用指针 ...
- 用户输入一个数字,找到所有能够除尽它的数的总个数
想不到我这个小学生也会做 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
题目描述 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换. 写三个函数: ①输入10个数:②进行处理:③输出10个数. 输入 10个整数 输出 整理后的十个数,每个数后跟 ...
- matlab极大值点个数,求一组数的极大值个数
已知一组数,如下所示,目标是求每行数的极大值个数,Matlab中有固有的函数求极大值个数吗?求各位大虾指点指点! 36 137 135 114 131 159 224 252 332 509 737 ...
- cogs 610. 数对的个数
610. 数对的个数 ★★ 输入文件:dec.in 输出文件:dec.out 简单对比 时间限制:1 s 内存限制:128 MB Description 出题是一件痛苦的事情! 题目看 ...
最新文章
- Douglas-Peucker算法
- 两路虚拟化服务器,服务器虚拟化(二)
- 华硕服务器主板z8na-d6开关位置,华硕双路服务器主板Z8NA-D6
- 阿帕奇搭建文件服务器,关于LINUX文件服务器简单搭建---NFS与APACHE服务
- lenos快速开发脚手架
- Mysql 定时备份操作
- 银行转账和分布式事务(转)
- html中vid中的id,VID/DID/SVID/SSID
- LiveZilla 详细 配置 设置 (二) 安装 LiveZilla
- 随手写的一个小程序,将gz压缩文件读取到内存中 并用base64编码 及相关解码
- thinkPHP中{$Think }用法
- 优秀Android程序员必知必会的网络基础,Android开发面试题及答案
- blender 制作城市建筑模型
- 第8章 中医证型关联规则挖掘
- 助你编程能力「突飞猛进」的干货分享
- Usage of Pseudocode
- Android视频编辑SDK免费版,Android视频编辑SDK
- 2021404209陈聪blog
- 汽车后市场O2O的掘金点在供应链金融
- 一个人最顶级的才华,是会填坑