1~n中1的和
题目:给定一个十进制的正整数,写下从1开始,到N的所有整数,然后数一下其中出现“1”的个数;
要求:写一个函数f(n),返回1到n之间出现“1“的个数,
思路:
1、先判断这个数共多少位,假设为n位;
2、判断哪一位上数为1;
3、在判断最高位上的数;
思路:
将输入的数n分解开看,看每一位数上出现的1的个数,
1、当n为一位数时:
当n小于1时,和为0;
当n大于等于1;和为1;
2、当n为两位数时:例如n为19
个位出现的1的个数为2;
十位出现的1的个数为10;
3、当n为三位数时:例如n为119
个位出现的1的个数为:12;
十位出现的1的个数为:20;
百位出现的1的个数为:20
代码:
#include<iostream>
using namespace std;
void main ()
{
int n;
int i=1;
int count =0;
int c=0,a =0,b =0;
cout<<"输入n的值:";
cin>>n;
while((n / i) !=0)
{
c = (n / i) %10;
b= n / (i *10);
a = n - (n / i) * i;
cout<<c<<" "<<b<<" "<<a<<endl;
if (c >1)
count = count + (b +1) * i;
else
if (c ==0)
count = count + b * i;
else
if(c ==1)
count = count + b * i + a +1;
i = i *10;
}
cout<<count<<endl;
}
截图:

总结:
将输入的数进行分解,即可解决问题
1~n中1的和的更多相关文章
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- 【.net 深呼吸】序列化中的“引用保留”
假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...
随机推荐
- 解决Xcode 7 http无法使用的问题
在info.plist文件中添加 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbit ...
- EasyX_无法填充圆颜色的问题
官网:https://www.easyx.cn/ 在线帮助文档:https://docs.easyx.cn/ 目标:生成一个边框为黄色,填充为蓝色的圆 遇到的问题:使用以下代码,只能生成边框为黄色的圆 ...
- #leetcode刷题之路33-搜索旋转排序数组
假设按照升序排序的数组在预先未知的某个点上进行了旋转.( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ).搜索一个给定的目标值,如果数组中存在这个目标值,则返 ...
- C++程序设计--实验二
第二次实验主要内容是函数重载,快速排序及其模板实现,简单的user类实现. 实验结论: 一.函数重载编程练习 /*编写重载函数add(),实现对int型,double型和Complex型数据的加法.在 ...
- jQuery----五星好评实现
在美团.淘宝.京东等网页上,有许多商品.服务评价页面,五星好评功能很常见,本文利用jQuery实现五星好评功能. 案例图片: ...
- PHP 回调函数call_user_func和 call_user_func_array()的理解
call_user_func(function,param); // 第一个参数是回调函数的函数名,第二个参数是参数 call_user_func函数类似于一种特别的调用函数的方法.其主要有以下的类型 ...
- 五、Delphi10.3通过REST单元使类和JSON数据互相转换
一.我们定义一个简单的类 TPeople = class private FName: string; FScore: Integer; FAge: TDateTime; public propert ...
- 一个简单python爬虫的实现——爬取电影信息
最近在学习网络爬虫,完成了一个比较简单的python网络爬虫.首先为什么要用爬虫爬取信息呢,当然是因为要比人去收集更高效. 网络爬虫,可以理解为自动帮你在网络上收集数据的机器人. 网络爬虫简单可以大致 ...
- docker的简单使用----适用于新手
Docker 1.简介 Docker是一个开源的应用容器引擎 将软件编译成一个镜像:然后在镜像里各种软件做好配置,将镜像发布出去,其他的使用这就可以直接使用这个镜像.运行中的这个镜像叫做容器,容器启动 ...
- 4 伪ajax:jsonp、cors 跨域请求
一.同源策略 https://www.cnblogs.com/yuanchenqi/articles/7638956.html 同源策略(Same origin policy)是一种约定,它是浏览器最 ...