关于有多少个1的计算

1、题目

输入一个十进制的数,输出

    (1)、给定n,求出从1到n的所有整数中1的个数。(暂用用f(n)表示)
    (2)、求满足n=f(n)的最小整数(1除外)。

#include <iostream> 
#include <math.h> 
using namespace std; 
 
void solve(); 
int input(); 
int power(int count); 
void main(){ 
    solve(); 
    system("pause"); 

 
void solve(){ 
    int n,count=0,i,sum=0; 
    n=input(); 
    //count为一个计数的,来计算n是几位数,如1则为个位数,2则为百位数 
    i=n; 
    while(i){ 
        i=i/10; 
        count++; 
    } 
    while(count--){ 
        i=(n/power(count))%10;//提取了与count对应的位 
        cout<<i<<endl; 
        if(i==1){ 
            if(0==count)//如果对应个位 
                sum+=1; 
            else 
                sum+=n%power(count)+1; 
        } 
        else if(i>1){ 
            sum+=power(count); 
        } 
        sum+=n/power(count+1)*power(count); 
    } 
    cout<<"一个有"<<sum<<"个1"<<endl; 

 
int input(){ 
    cout<<"请输入您想要输入的数字:"<<endl; 
    int n; 
 cin>>n;
 return  n;
}
 
int power(int count){ 
    int m=1; 
    if(count<0){ 
        cout<<"count值有误!"<<endl; 
        return -1; 
    } 
    else 
        while(count--) 
            m*=10; 
    return m; 
}

 

把每个位置上的数都分离出来,先确定是几位数,然后在利用每个位置上的数求得出现多少个1 。

总结:要学会变换思路,以前的时候通过列举找规律,遇到这个问题的时候例句明显太麻烦了,而且很难找到规律,可以找一个数来拆解。

转载于:https://www.cnblogs.com/jump/p/4548435.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABP+AdminLTE+Bootstrap Table权限管理系统第八节--ABP错误机制及AbpSession相关

返回总目录:ABPAdminLTEBootstrap Table权限管理系统一期 上一节我们讲到登录逻辑,我做的登录逻辑很简单的,我们来看一下abp module-zero里面的登录代码. #region Login / Logoutpublic ActionResult Login(string returnUrl ""){if (string.IsNullOrWhiteSpace(ret…

P2327 [SCOI2005]扫雷

题目描述 输入输出格式 输入格式&#xff1a; 第一行为N&#xff0c;第二行有N个数&#xff0c;依次为第二列的格子中的数。&#xff08;1< N < 10000&#xff09; 输出格式&#xff1a; 一个数&#xff0c;即第一列中雷的摆放方案数。 输入输出样例 输入样例#1&#xff…

天津海运[600751]股票

2019独角兽企业重金招聘Python工程师标准>>> 天津海运[600751]股票 转载于:https://my.oschina.net/chworld/blog/425583

【RK3399Pro学习笔记】十六、ROS中的常用可视化工具

目录测试rqt_consolerqt_graphrqt_plotrqt_image_viewrqtrvizgazebo平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机器人入门教程 —— 古月居G…

Cocos2d-x 3.2:通过ClippingNode实现一个功能完善的跑马灯公告(1)

Cocos2d-x 3.2&#xff1a;通过ClippingNode实现一个功能完善的跑马灯公告&#xff08;1&#xff09; 本文转载至深入理解Cocos2d-x 3.x&#xff1a;一步一步通过ClippingNode实现一个功能完善的跑马灯公告&#xff08;1&#xff09; 这篇文章主要是通过一步一步实现一个功能完…

【STC15库函数上手笔记】1、建立工程

目录新建工程添加文件到工程中main.c时钟STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 在STC官网发现了库函数&#xff0c;大受震撼&#xff1a; 宏晶科技官方网站 直接搜“库函数”&#xff0c;目前仅有STC15和STC8系列有库函…

hdu 6086 Rikka with String(AC自动机+状压dp)

题目链接&#xff1a;hdu 6086 Rikka with String 题意&#xff1a; 给你n个只含01的串&#xff0c;和一个长度L,现在让你构造出满足s[i]≠s[|s|−i1] for all i∈[1,|s|] &#xff0c;长度为2L&#xff0c;并且包含给出的n个串&#xff0c;问能有多少种这样的串。 题解&#x…

【STC15库函数上手笔记】2、GPIO

目录硬知识IO口初始化函数测试main.c实验现象STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 IO口初始化函数 GPIO_Inilize GPIO_InitTypeDef的定义见于文件"GPIO.H"。 typede…

Json-转自菜鸟教程

1. python中为什么用json有什么作用&#xff1f;&#xff1f;不是python用json&#xff0c;json是类似xml的一种通用格式&#xff0c;在很多地方都可以用。json相比xml&#xff0c;数据量更小&#xff0c;而且可以很方便的和解释型语言的结构相互转换。 2. 常用的两种Json函数&…

centos下编译安装curl拓展

---恢复内容开始--- 新的php环境没有curl拓展&#xff0c;现在用编译方式增加拓展。 一、安装curl 当前curl最新版本为7.32&#xff0c;下载地址为http://curl.haxx.se/download/curl-7.32.0.tar.gz 使用wget方式下载到相关目录 wget http://curl.haxx.se/download/curl-7.32.0…

【STC15库函数上手笔记】3、外部中断

目录硬知识外中断初始化函数测试main.cExti.cSTC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 外中断初始化函数 Ext_Inilize EXTI_InitTypeDef的定义见于文件"Exti.H"。 typed…

Mac pycharm flask 用内网ip 运行 web

1. 菜单 run -> run 2. 选择&#xff0c;你要运行的 py 程序 3. 设置 Additional options: 为 --host0.0.0.0 &#xff0c;把 FLASK_DEBUG 的勾&#xff0c;去掉&#xff0c;如下图 4. 在 py 程序中 &#xff08;运行的主程序&#xff09;&#xff0c; 修改以下代码 …

【STC15库函数上手笔记】4、USART串口

目录硬知识串口初始化函数串口1写缓冲函数串口2写缓冲函数串口1写数据块函数串口2写数据块函数模拟串口字节发送函数模拟串口写数据块函数测试硬件串口模拟串口soft_uart.csoft_uart.hmain.cSTC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Versio…

CSS--使用伪选择器制作箭头图标

// 使用Transform的属性&#xff0c;组合translate&#xff08;位移&#xff09;和rotate&#xff08;旋转&#xff09;&#xff0c;将生成的小矩形组合成各种箭头样式&#xff1b; HTML 1 <section class"main">2 <header class"title">图…

Linux多命令协作:管道及重定向

认识Linux中管道和重定向 如下图。 实践&#xff1a;重定向>的使用 转载于:https://www.cnblogs.com/mcgrady/p/7339770.html

【STC15库函数上手笔记】5、定时器

目录硬知识定时器初始化函数测试基本功能测试main.c中断服务函数实验现象模拟PWM信号main.c实验现象STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 定时器初始化函数 Timer_Inilize TIM_…

Linux内存卡(SD卡、TF卡)作为Swap交换空间

目录平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 编译ORB-SLAM3时内存不足报错&#xff0c;专门买来一个32G的内存卡&#xff0c;设成swap试试。 插上内存卡&#xff0c;使用如下命令查看&#…

mysqldumper

介绍MySQL自身的mysqldump工具支持单线程工作&#xff0c;依次一个个导出多个表&#xff0c;没有一个并行的机&#xff0c;这就使得它无法迅速的备份数据。mydumper作为一个实用工具&#xff0c;能够良好支持多线程工作&#xff0c;可以并行的多线程的从表中读入数据并同时写到…

【STC15库函数上手笔记】6、ADC

目录硬知识ADC初始化函数ADC电源控制函数ADC查询转换函数测试main.c实验现象STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 ADC初始化函数 ADC_Inilize ADC_InitTypeDef的定义见于文件&q…

【RK3399Pro学习笔记】十七、Debian安装ORB-SLAM3和单目demo的运行

目录安装OpenCV 3注意事项安装Glew安装Pangolin安装boost安装Eigen 3安装ORB_SLAM3试用平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 参考资料&#xff1a; 【入门必看】视觉惯性SLAM“灭霸”&am…