面试题32—从1到n整数中1出现的次数
来源:互联网 发布:linux vim 查询 编辑:程序博客网 时间:2024/06/03 20:28
题目:输入一个整数,求从1到n这n个数的十进制中1出现的次数。
代码示例:
#include<iostream>using namespace std;int NumOfOne(int n){if (n <= 0)return 0;int n_copy = n;int NumOfBit = 0;while (n_copy){NumOfBit++;n_copy /= 10;}//int Base = 1;int bitnum = 1;int numofone = 0;while (bitnum<=NumOfBit){if (bitnum == 1){int former = n % 10;int Round = n / 10;numofone += former ? 1 : 0;numofone += Round*Base;Base *= 10;bitnum++;}else{int former = n%Base;int Round = n / (Base * 10);int weight = n % (Base * 10) / Base;if (weight > 1){numofone += Round*Base + Base;}else if (weight == 1){numofone += Round*Base + former + 1;}else{numofone += Round*Base;}Base *= 10;bitnum++;}}return numofone;}int main(){int n;cout << "输入一个正数:";cin >> n;cout << 1 << "-" << n << "中1的个数总和为:" << NumOfOne(n) << endl;}
阅读全文
0 0
- 剑指offer 面试题32—从1到n整数中1出现的次数
- 面试题32—从1到n整数中1出现的次数
- 面试题32:整数中1出现的次数(从1到n整数中1出现的次数)
- 面试题32:从1到n整数中1出现的次数
- [剑指offer][面试题32]从1到n整数中1出现的次数
- 剑指Offer:面试题32 从1到n整数中1出现的次数
- 面试题32 从1到n整数中1出现的次数
- 面试题32:从1到n整数中1出现的次数
- 剑指offer-面试题32:从1到n整数中1出现的次数
- 面试题32:从1到n整数中1出现的次数
- 算法 剑指Offer 面试题32 从1到n整数中1出现的次数
- 剑指Offer----面试题32:从1到n整数中1出现的次数
- 剑指offer面试题 32:从 1 到 n 整数中 1 出现的次数
- 面试题32:从1到n整数中1出现的次数
- 剑指offer面试题32:从1到n整数中1出现的次数
- 【剑指offer】面试题32-从1到n整数中1出现的次数
- 面试题32:从1到n整数中1出现的次数
- 剑指Offer系列-面试题32:从1到n整数中1出现的次数
- TabLayout基础
- 正则表达式
- 远程桌面复制文件失效的解决方案
- regmap_write
- 嵌入式qt工程编译时出的错
- 面试题32—从1到n整数中1出现的次数
- PMON编译方法
- ListView有Header时的position情况
- 欢迎使用CSDN-markdown编辑器
- VC--获取本机 局域网IP 和外网IP
- atl接口
- 软件行业有希望,近百人学习《GJB5000A深入理解与实现》
- php 4大数组函数的使用
- iOS crash 分析